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

时间:2026-02-16 18:24:51

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

© 2026 智德知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com