您好,这里是第一次使用正则表达式的用户。 只是想找出一些正则表达式,但需要一些帮助。
我有一个包含以下项目的文本文件:
10:67 12:12 01:50 23:60 23:50
我正在尝试获取有效时间列表,以便 输出应该是:
['12:12', '01:50', '23:50']
这是我的代码:
import re
inFile = open("text.txt")
text = inFile.read()
pattern = re.findall('([01]\d|2[0-3]):[0-5]\d', text)
print pattern
我的输出是:
['12', '01', '23']
对找出问题有什么帮助吗?谢谢!!!
请您参考如下方法:
Python 显然只打印第一组(在你的例子中是 ([01]\d|2[0-3]))。如果您对其进行非捕获组 ((?: ... )),您应该会看到所需的结果:
text = '10:67 12:12 01:50 23:60 23:50'
pattern = re.findall('(?:[01]\d|2[0-3]):[0-5]\d', text)
print pattern
显示:
['12:12', '01:50', '23:50']
有关(非)捕获组的更多信息:http://www.regular-expressions.info/brackets.html
