python 正則表達式

python 正則表達式

python 3.5 都是 unicode 模式,w 能夠直接匹配unicodepython

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

findallui

>>> pattern.findall("測試201710-測試201711-測試201712")
['測試201710', '測試201711', '測試201712']

finditerspa

>>> 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

groupcode

>>> 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'}
相關文章
相關標籤/搜索