python 正则表达式

python 正则表达式

python 3.5 都是 unicode 模式,w 可以直接匹配unicode

match

match 是从头开始匹配,是要头部相同就认为匹配,不要求匹配整个字符串

>>> import re
>>> pattern = re.compile(r'\w+\d{6}')
>>> m = pattern.match("测试201710") // 如果不能匹配到返回None,匹配到返回Match 对象
<_sre.SRE_Match object; span=(0, 8), match='测试201710'>
>>> pattern.match("#测试201710") // None

search 是如果包含匹配的字符串就符合要求

>>> pattern.search("#测试201710")
<_sre.SRE_Match object; span=(1, 9), match='测试201710'>

find

findall

>>> pattern.findall("测试201710-测试201711-测试201712")
['测试201710', '测试201711', '测试201712']

finditer

>>> text = "He was carefully disguised but captured quickly by police."
>>> for m in re.finditer(r"\w+ly", text):
...     print('%02d-%02d: %s' % (m.start(), m.end(), m.group(0)))
07-16: carefully
40-47: quickly

group

group

>>> m = re.match(r"(\d+)\.(\d+)", "24.1632")
>>> m.groups()
('24', '1632')
>>> 
>>> m.group(0)
'24.1632'
>>> m.group(1)
'24'
>>> m.group(2)
'1632'

groupdict

>>> m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds")
>>> m.groupdict()
{'first_name': 'Malcolm', 'last_name': 'Reynolds'}
    原文作者:openmartin
    原文地址: https://segmentfault.com/a/1190000011575067
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞