【发布时间】:2015-02-24 15:29:57
【问题描述】:
我对 python 很陌生,我正在做一个我应该继续在正则表达式上构建的任务,但我遇到了一个句号。
由于某些原因,在添加后面的部分时,一些正则表达式会崩溃并停止匹配之前匹配的一些字符串。
我应该在一个看起来像这样的字符串上运行正则表达式:
Sep 15 04:34:02 li146-252 sshd[12130]: Failed password for invalid user ronda from 212.58.111.170
代码:
#!/usr/bin/python
import re
with open('livehack.txt', 'r') as file:
for line in file:
dateString = re.findall('^(?:[A-z][a-z]{2}[ ][0-9]{1,2}[ ][\d]{2}[:][\d]{2}[:][\d]{2}) | li146-252 | ?:[0-9]{5} | Failed password for invalid', line)
print dateString
代码结果:
['Sep 17 06:40:28 ', ' Failed password for invalid']
如您所见,有一些应该被捕获的东西丢失了,我不知道为什么。
提前致谢。
【问题讨论】:
-
如果你把你的正则表达式放在这里,它会满足你的期望吗? regex101.com
标签: python regex python-2.7