Python瓦匠 —— 正则表达式(五)
生活随笔
收集整理的這篇文章主要介紹了
Python瓦匠 —— 正则表达式(五)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 通配字符
.(句點)字符被稱為通配符,它匹配除了換行符以外的所有字符。
例如:
>>> atRegex = re.compile(r'.at') >>> atRegex.search('The cat in the hat sat on the flat mat.') <_sre.SRE_Match object; span=(4, 7), match='cat'>?
二 用點-星號匹配所有的字符
(.*)表示匹配任意文本。
>>> import re >>> nameRegex = re.compile(r'firstname:(.*)') >>> nameRegex.search('firstname:liu').group() 'firstname:liu'(.*)使用‘貪心’模式:它總是匹配盡可能多的文本。
(.*?)表示非貪心模式匹配所有文本。
例如:
>>> xRegex = re.compile(r'<.*?>') #匹配所有<>的文本,非貪心模式 >>> mo = xRegex.search('<To serve man> for dinner.') >>> mo.group() '<To serve man>' >>>貪心模式:
>>> xRegex = re.compile(r'<.*>') #貪心模式 >>> mo = xRegex.search('<To serve man> for dinner.>') >>> mo.group() '<To serve man> for dinner.>' #匹配最大的文本?
三 用句點字符匹配換行
點-星匹配除換行之外所有字符。通過傳入re.DOTALL作為re.compile()的第二個參數,可以讓句點字符匹配所有字符,包括換行。
例如:
#匹配所有文本,不包括換行符 >>> name = re.compile(r'.*') >>> no = name.search('firstname = liu\nLstname = liuyong') >>> no.group() 'firstname = liu'#匹配所有文本,包括換行符 >>> name = re.compile(r'.*',re.DOTALL) >>> no = name.search('firstname = liu\nLstname = liuyong') >>> no.group() 'firstname = liu\nLstname = liuyong'?
轉載于:https://www.cnblogs.com/BeautifulSoup/p/8410592.html
總結
以上是生活随笔為你收集整理的Python瓦匠 —— 正则表达式(五)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Educational Codeforc
- 下一篇: Guava之Ordering