Python 简单正则表达式

3 投票
2 回答
1974 浏览
提问于 2025-04-17 06:19

我有一个模式:

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>

撰写回答