2018-06-19分組(2)

tip1:|理論上是要加上括號的(括號表示是這些以|分開的規(guī)則中的某一個部分),如果左右描述了完整的表達式才不用加括號。
tip2:“.”在正則表達式中有特殊意義,所以需要匹配“.”的時候,不能直接寫上不管,而是要用""轉(zhuǎn)義符把正則的“.”屬性去掉,而恢復原來的“.”的真實含義。
tip3:明確知道后面不能再跟上東西的時候要有$結(jié)尾。

正則表達式匹配郵箱賬號

>>> 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')
  • 當需要的括號分組多容易亂的時候,使用序號表示就變得不再方便,這時候我們可以用?P<>來對這個括號匹配進行命名。?P<>不屬于正則表達式中的內(nèi)容,真正起作用的是其他內(nèi)容。<>里面寫名字。
使用示例:
>>> 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>'>

起名時候用<>,用的時候用=;起名的時候要把被起名的表達式一起括起來,用的時候把自己括起來。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容