Python 简单正则表达式
我有一个模式:
hourPattern = re.compile('\d{2}:\d{2}')
然后我用这个编译好的模式去匹配
hourStart = hourPattern.match('Sat Jan 28 01:15:00 GMT 2012')
当我打印 hourStart
的时候,它显示的是 None。有人能帮帮我吗?
2 个回答
0
将代码中的 match 方法换成 search 方法:
>>> hourPattern = re.compile('\d{2}:\d{2}')
>>> hourStart = hourPattern.search('Sat Jan 28 01:15:00 GMT 2012')
>>> hourStart.group()
'01:15'
9
Match这个功能是要求你找到的值必须在字符串的开头。如果你想在字符串的任何地方查找,那你应该用search。
>>> import re
>>>
>>> s = re.compile('\d+')
>>>
>>> s2 = 'a123'
>>>
>>> s.match(s2)
>>> s.search(s2)
<_sre.SRE_Match object at 0x01E29AD8>