下面為大家分享一篇python貪婪匹配以及多行匹配的實例講解,具有很好的參考價值,希望對大家有所幫助。一起來看看吧
1 非貪婪flag
#>>> re.findall(r"a(\d+?)", "a23b") ['2'] >>> re.findall(r"a(\d+)", "a23b") ['23']
注意比較這種情況:
>>> re.findall(r"a(\d+)b", "a23b") ['23'] >>> re.findall(r"a(\d+?)b", "a23b") ['23']
2 如果你要多行匹配,那麼加上re.S和re.M標誌
re.S:.將會匹配換行符,預設.不會匹配換行符
#>>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b") [] >>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b", re.S) [('23', '34')] >>>
re.M:^ $標誌將會符合每一行,預設^和$只會符合第一行
>>> re.findall(r"^a(\d+)b", "a23b\na34b") ['23'] >>> re.findall(r"^a(\d+)b", "a23b\na34b", re.M) ['23', '34']
但是,如果沒有^標誌,
>>> re.findall(r"a(\d+)b", "a23b\na23b") ['23', '23']
相關推薦:
以上是python貪婪匹配以及多行匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!