我是相当新的python和我正在一个任务,我应该继续建设一个正则表达式,我遇到了一个句号。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']
由于你可以看到,有几件事应该被发现,但我不知道为什么。
在此先感谢。
如果你把你的正则表达式这里它捕捉你期望的? https://regex101.com/ – danielfranca 2015-02-24 15:35:50