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'

(?<=...)

匹配的字符串前面需要匹配

>>> re.search('(?<=\d)def', '1def').group()

'def'

(?<!...)

匹配的字符前面不能匹配

>>> re.search('(?<!\d)def', 'adef').group()
'def'


(?(id/name)yes-pattern|no-pattern)

>>> re.search('(\d)def(?(1)-abc|-123)', '0def-abc').group()
'0def-abc'


\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

匹配字符串的结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值