我是相當新的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