python 正则表达式教程2 高效掌握re

2025-11-04 00:33:53

1、{N}   匹配N次前面出现的字符

例如'l.{2}e'则会匹配任意以l开头e结尾的四字字符串

用'i love someone named H'

re.search('l.{2}e','i love someone named H')

则会匹配出'love'

python 正则表达式教程2 高效掌握re

2、{M,N} 匹配M到N次前面出现的字符

例如'l.{2,3}e'则会匹配任意以l开头e结尾的四字或五字字符串

用 'i lo2ve someone name H'

re.search('l.{2,3}e','i love someone named H')

则会匹配出'love'

python 正则表达式教程2 高效掌握re

3、[...]  匹配来自字符集中的任意单一字符

例如'[o,v,e]'则会匹配出o或者v或者e

用 'i lvve someone name H'

re.search('l[o,v,e]ve','i lvve someone named H')

则会匹配出'lvve'

python 正则表达式教程2 高效掌握re

4、[..x-y..] 匹配x-y范围内的任意单一字符

例如'[0-9]'则会匹配0-9之间的任意单一数字。

用'i lo2ve someone name H'

re.search('lo[0-9]ve','i lo2ve someone name H')

则会匹配 'lo2ve'

python 正则表达式教程2 高效掌握re

5、[^...] 不匹配此字符集出现的任意一个字符,但会匹配一个满足要求的字符

例如'[^2]' 匹配不是2的其他字符

用'i lo2ve love lo3ve someone name H'

re.search('lo[^2]ve','i lo2ve love lo3ve someone name H')

则会匹配'lo3ve'

python 正则表达式教程2 高效掌握re

6、(*|+|?|{})? 在贪婪算子后面加上?变为非贪婪模式,即尽可能寻找字符最少的匹配项。

例如'l.*?e'则匹配最少的满足要求的。可以和第一节教程作比较。

用'i love someone named H'

re.search('l.*?e','i love someone named H')

则会匹配'love'

python 正则表达式教程2 高效掌握re

7、(...)  匹配封闭的正则表达式,并存为子集。

例如'l(.*?)e'

用'i love someone named H'

re.search('l(.*?)e','i love someone named H')

则会匹配'love',还有个子集'ov',通过groups可以看到。

python 正则表达式教程2 高效掌握re

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢