【Pythno库】-Re

官方文档

https://docs.python.org/zh-cn/3.9/library/re.html?highlight=re#module-re

常用操作符

操作符 说明 实例
. 表示任何单个字符
[ ] 字符集,对单个字符给出取值范围 [ab]表示a|b,[a-z]表示a到z单个字符
[^ ] 非字符集,对单个字符给出排除范围 [^abc]表示除a|b|v的单个字符
* 前一个字符0次或无限次扩展 abc* 表示ab|abc|abcc|abccc等
+ 前一个字符1次或无限次扩展 abc+ 表示abc|abcc|abccc等
? 前一个字符0次或1次扩展 abc? 表示ab|abc
| 左右表达式任意一个 abc|def 表示abc或def
{m} 扩展前一个字符m次 ab{2}c表示abbc
{m,n} 扩展前一个字符m至n次(含n) ab{1,2}c表示abc、abbc
^
$
( )

主要函数

  • re.match

    从一个字符串的开始位置起匹配正则表达式。

    re.match(pattern,string,flags=0)
    

    如果能够匹配到,返回符合要求的第一个match对象(全匹配),否则返回None

    match = re.match(r'[a-zA-Z_]([a-zA-Z_]|[0-9])*','age = 18')
    print(match)    #<_sre.SRE_Match object; span=(0, 3), match='age'>
    print(bool(match)  #True
    

    match.group()match.group(0) 返回全部组对象(即正则表达式中()的内容)

    print(match.group(0))   #age
    

    match.group(n),可返回patten中第n个()中对应的内容,否则报错IndexError: no such group ,如果重复出现,输出最后一个

    print(match.group(1))  #e
    
  • re.findall

    搜索字符串,以列表类型返回全部能匹配的子串 (挑选匹配)

    re.findall(pattern,string,flags=0)
    
原文地址:https://www.cnblogs.com/fenxiangyuan/p/11830177.html