Python常用正则表达式符号浅析
程序员文章站
2023-10-17 19:30:06
对python中正则表达式的理解,主要就是对符号的理解,本文即对python中常用的正则表达式符号进行简析。其主要的符号有:
.
默认匹配一个字符,不包含换行符,如果设...
对python中正则表达式的理解,主要就是对符号的理解,本文即对python中常用的正则表达式符号进行简析。其主要的符号有:
.
默认匹配一个字符,不包含换行符,如果设置dotall则匹配换行符
^
匹配行首
$
匹配行尾
*
匹配0个或者多个重复
+
匹配一个或者多个重复
?
匹配一个或者零个重复
*?,+?,??
按照非贪婪模式匹配
{m},{m,n},{m,n}?
分别匹配m个重复,m至n个重复,m至n个重复按照非贪婪模式
\
转义
[]
[abc],[a-z][^a-z]
|
或者匹配 'a|b'
(...)
匹配组
(?ilmsux) (?:...) (?p<name>...) >>> re.match('(?p<name>abc){2}','abcabc').groupdict() {'name': 'abc'} (?p=name) >>> re.match(r'(?p<name>abc)----(?p=name)','abc----abc').group() 'abc----abc' (?#...) #后面的内容为注释 (?=...)
匹配的字符串后面的内容需要匹配
>>> re.match(r'phone(?=\d{3})','phone123').group() 'phone'# (?!...)
匹配的字符后面内容不能匹配
>>> re.match(r'phone(?!\d{3})','phoneabc123').group() 'phone' (?<=...)
匹配的字符串前面需要匹配
(?<!...) 匹配的字符前面不能匹配
(?(id/name)yes-pattern|no-pattern)
\number
\a 匹配字符串的开头
\b 匹配单词边界
\b
\b的反义
\d 表示[0-9]
\d表示 [^0-9]
\s表示 [ \t\r\n\f\v]
\s 为非空白字符
\w等价于 [a-za-z0-9]
\w \w的反义
\z 匹配字符串的结束
上一篇: Flash AS3中数据发送与接收
下一篇: Python yield 小结和实例