re.S解析
轉(zhuǎn)自:https://www.cnblogs.com/xieqiankun/p/re-sinpython.html
在Python的正則表達(dá)式中,有一個參數(shù)為re.S。它表示“.”(不包含外側(cè)雙引號,下同)的作用擴(kuò)展到整個字符串,包括“\n”??慈缦麓a:
import re a = '''asdfsafhellopass:234455worldafdsf''' b = re.findall('hello(.*?)world',a) c = re.findall('hello(.*?)world',a,re.S) print 'b is ' , b print 'c is ' , c運(yùn)行結(jié)果如下:
b is [] c is ['pass:\n\t234455\n\t']正則表達(dá)式中,“.”的作用是匹配除“\n”以外的任何字符,也就是說,它是在一行中進(jìn)行匹配。這里的“行”是以“\n”進(jìn)行區(qū)分的。a字符串有每行的末尾有一個“\n”,不過它不可見。
如果不使用re.S參數(shù),則只在每一行內(nèi)進(jìn)行匹配,如果一行沒有,就換下一行重新開始,不會跨行。而使用re.S參數(shù)以后,正則表達(dá)式會將這個字符串作為一個整體,將“\n”當(dāng)做一個普通的字符加入到這個字符串中,在整體中進(jìn)行匹配。
轉(zhuǎn)載于:https://www.cnblogs.com/eternal1025/p/8550623.html
總結(jié)
- 上一篇: Codeforces Round #47
- 下一篇: vue中key的作用