我正在尝试从具有以下内容的文本文件中解析数据:
On 1-1-16 1:48 Bob used: 187
On 1-5-16 2:50 Bob used: 2
我只想打印时间和使用的数字,所以它看起来像:
1-1-16, 1:48, 187
1-5-16, 2:50, 2
我正在使用此正则表达式:
print(re.search(r"On ([0-9,-, ]+)Bob used ([0-9\.]+)", line.strip()))
我得到的结果说
我尝试使用.group(),但是它给出错误“'NoneType'对象没有属性'group'”。我还注意到它仅找到第二个分组(数字)而不是第一个分组(日期和时间)。
如何解决?
最佳答案
您在:
之后缺少Bob used
,并且需要更精确的日期部分表达式-例如,\d+-\d+-\d+ \d+:\d+
:
>>> s = 'On 1-1-16 1:48 Bob used: 187 On 1-5-16 2:50 Bob used: 2'
>>> re.search(r"On (\d+-\d+-\d+ \d+:\d+) Bob used: ([0-9\.]+)", s).groups()
('1-1-16 1:48', '187')
关于python - Python正则表达式问题和分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35754242/