2018-06-19分组(2)

2018-06-19  本文已影响1人  菩灵

tip1:|理论上是要加上括号的(括号表示是这些以|分开的规则中的某一个部分),如果左右描述了完整的表达式才不用加括号。
tip2:“.”在正则表达式中有特殊意义,所以需要匹配“.”的时候,不能直接写上不管,而是要用""转义符把正则的“.”属性去掉,而恢复原来的“.”的真实含义。
tip3:明确知道后面不能再跟上东西的时候要有$结尾。

正则表达式匹配邮箱账号
>>> p = r"(\w+)@(163|126|qq|gmail)\.(com|cn|net)$"
>>> r = re.match(p, "itcast@qq.com")
>>> r
<_sre.SRE_Match object; span=(0, 13), match='itcast@qq.com'>
>>> r.group()
'itcast@qq.com'
>>> r.groups()
('itcast', 'qq', 'com')
>>> r.groups(1)
('itcast', 'qq', 'com')
使用示例:
>>> s
'<html><h1>itcast</h1></html>'
>>> re.match(r"<(?P<key1>.+)><(?P<key2>.+)>.+</(?P=key2)></(?P=key1)>", s)
<_sre.SRE_Match object; span=(0, 28), match='<html><h1>itcast</h1></html>'>

起名时候用<>,用的时候用=;起名的时候要把被起名的表达式一起括起来,用的时候把自己括起来。

上一篇 下一篇

猜你喜欢

热点阅读