python 正则式使用心得

1042次阅读  |  发布于5年以前

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', '.', '']

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8