我正在尝试匹配我在日志文件中看到的异常行。日志文件的格式为 “[timestamp] threadid(8个字母数字)applicationName(任意长度的字母数字字符)E(表示异常消息)”
因此,示例日志异常消息将是:
“[11/27/12 22:33:02:635 EST] 0000009a myApplication E”任何事情都可以在E.之后发生。
我无法使用PHP preg_match
找到正则表达式来匹配它任何帮助都将不胜感激。
干杯
答案 0 :(得分:0)
尝试以下方法:
'/^\[[^\]]+\]\s\w{8}\s[^\s]+\sE.*/m'
尾随“m”确保开头的楔形与日志中一条线的开头相匹配。
如果所有日志条目看起来非常相似,除了“E”之外,此解决方案当然只能起作用。如果有日志条目,例如没有时间戳,它可能会失败,你必须寻找更详细的表达,如sputnick's。
答案 1 :(得分:0)
试试这个正则表达式(使用捕获组):
/^\[\d+/\d+/\d+\s+\d+:\d+:\d+:\d+\s+\w+\]\s+\w{8}\s+\w+\s+E(.*)/