Python正则表达式


\w 匹配[a-zA-Z0-9_],包括中文的字
\s,匹配1位空白字符,包括换行符、制表符、空格[\f\r\n\t\v ]
\d [0-9]一位数字。
\b 匹配单词的边界。
. 匹配换行符外的任意一个字符。
[abc] 匹配字符集合内的任意一个字符。
[^abc] 匹配不在字符集内的任意一个字符。

次数匹配
* 匹配前面字符任意次
+ 匹配前面的正则表达式至少一次。
? 匹配前面的正则表达式0或者1次。
{n} 重复固定的n次。
{n,} 重复至少n次。
{,n} 重复至多n次。
{n,m} 重复n到m次。
所有次数均为贪婪匹配,即尽可能的进行更多次的匹配,匹配次数后面加?即可变为非贪婪模式,即进行最少次数符合条件的匹配。


匹配相关
x|y 匹配x或y
捕获
(pattern) 使用小括号指定表达式,也叫分组,分组编号从1开始
\数字 匹配对应数字的分组.
(?:pattern) 在不需要捕获分组的情况下更改优先级.
(?exp) 分组捕获,可以通过name访问分组,Python语法必须是(?Pexp)
零宽断言:只做判断用,并不出现在匹配结果中
(?=exp) exp一定在匹配的右边出现。
(?<=exp) exp一定在匹配的左边出现。
负向零宽断言:将零宽断言中的=换为!号,表示不存在。
(?!exp) exp 一定不出现在匹配的右边.
(?
搜索引擎,即re匹配中的flags
re.I ,re.IGNORECASE 匹配时忽略大小写。
re.S 将匹配变为单行模式,.可以匹配\n
re.M 多行模式,^行首,即\n后紧接着的下一个字符,$行尾,即\n前的最后一个字符.
re.X 忽略表达式中的空白字符。

re模块
re.compile(pattern, flags=0) 返回一个匹配规则,
regex = re.compile(pattern, flags=0) regex.match或search等方法相当于re.match 或search方法.
re.findall(pattern, string, flags=0) 返回 匹配的所有结果所组成的列表,无匹配时返回空列表。
re.finditer(pattern, string, flags=0) 返回匹配到的Match Object所组成的生成器.
re.sub(pattern, repl, string, count=0, flags=0) 返回将匹配结果用repl替换后的字符串。
re.subn() 功能同sub,不过返回的是替换后的字符串与替换次数所组成的二元组.
re.search(pattern, string, flags=0)
re.match(pattern, string, flags=0) search与match方法都是寻找匹配式在字符串中的匹配,但match是从开头开始寻找,search是遍历整个字符串,查找匹配,两个都是查到一个符合条件的就停止,返回Match object,未寻找到的话返回None.




正则表达式对象
regex.split(string, maxsplit=0) 使用正则切割字符串,默认最大次数切割,可自定义次数。
regex.groups 返回分组数目


Match object
match.group([group1, ...]) 返回分组内容,默认返回第0组,即整个正则匹配到的字符串,参数可使用数字和分组名称,返回相对应的匹配结果.
match.__getitem__(g) m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist"), 使用m[0],m[1]进行调用。
match.groups(default=None) 返回所有分组匹配到的结果所组成的元组,未匹配到的分组默认返回None,可更改.
match.groupdict(default=None) 返回命名分组匹配到的结果所组成的字典,未匹配到的分组默认值为None。
match.start([group])
match.end([group]) 返回所匹配到的字符位置下标,默认返回整个字符串的,可返回单个分组的开始和结束位置。
match.span([group]) 返回有start和end组成的二元组,若查询未匹配到分组的话,返回(-1,1)
match.pos search和match方法中传递的匹配开始的位置
match.endpos search和match方法中传递的匹配结束的位置
match.lastindex 返回match最后一个成功匹配的分组的次序,所有非组都未成功匹配的话返回None
match.lastgroup 返回match最后一个成功匹配的分组的名称,所有非组都未成功匹配的话返回None
match.re 返回使用的正则表达式
match.string 返回匹配所使用的字符串。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值