[英]php regular expression matching log file
我正在嘗試匹配在日志文件中看到的異常行。 日志文件的格式為“ [timestamp] threadid(8個字母數字數字)applicationName(任意長度的字母數字字符)E(表示異常消息)”
因此,示例日志異常消息將是:
“ [[11/27/12 22:33:02:635 EST] 0000009a myApplication E”在E之后可以發生任何事情。
我在使用PHP preg_match查找正則表達式以匹配此表達式時遇到麻煩
任何幫助,將不勝感激。
干杯
嘗試以下方法:
'/^\[[^\]]+\]\s\w{8}\s[^\s]+\sE.*/m'
尾隨的“ m”確保開頭的楔形與日志中一行的開頭相匹配。
當然,如果所有日志條目看起來都非常相似(“ E”除外),則該解決方案才有效。 如果有日志條目,例如沒有時間戳記,則它可能會失敗,並且您必須尋找更詳細的表達式,例如sputnick的表達式。
嘗試使用此正則表達式(帶有捕獲組 ):
/^\[\d+/\d+/\d+\s+\d+:\d+:\d+:\d+\s+\w+\]\s+\w{8}\s+\w+\s+E(.*)/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.