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貪婪匹配以及多行匹配的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答