首頁 > 後端開發 > Python教學 > python貪婪匹配以及多行匹配

python貪婪匹配以及多行匹配

不言
發布: 2018-04-19 10:29:48
原創
2256 人瀏覽過

下面為大家分享一篇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編寫簡單網路爬蟲抓取影片

以上是python貪婪匹配以及多行匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板