1.match() 從開始位置開始匹配
2.search() 任意位置匹配,如果有多個匹配,只返回第一個
3.finditer() 返回所有匹配
4.每次匹配,都是盡量最大匹配。例如:
>>> m = re.compile('abc[bcd]*b')
>>> m.findall('abcbcbcb')
['abcbcbcb']
其實abcbcb也是匹配的abc[bcd]*b的,不過只返回一個最大的匹配值。
5.split()方法
a.根據正則式劃分字符串,可指定最大的劃分數
>>> p = re.compile(r'/W+')
>>> p.split('This is a test, short and sweet, of split().')
['This', 'is', 'a', 'test', 'short', 'and', 'sweet', 'of', 'split', '']
b.有時,你不僅對定界符之間的文本感興趣,也需要知道定界符是什么。
如果捕獲括號在 RE 中使用,那么它們的值也會當作列表的一部分返回。比較下面的調用:
>>> p2 = re.compile(r'(/W+)')
['This', '... ', 'is', ' ', 'a', ' ', 'test', '.', '']
新聞熱點
疑難解答