我設計了正則表達式來匹配異常消息字段。正則表達式提取異常消息字段
^.*\s([^:,\s]+):\s+([^:]+)\sat\s+\S+\((\w+)\.\w+:(\d+)\)$
它只匹配幾個字段。
測試字符串是:發現
ERROR java.lang.NullPointerException: Sample Java Logback Exception
at Sample.errorLevel3(Sample.java:35)
at Sample.errorLevel4(Sample.java:34)
at Sample.errorLevel5(Sample.java:30)
at Sample.errorLevel6(Sample.java:3)
匹配:
java.lang.NullPointerException
Sample Java Logback Exception
Sample
35
預計比賽:
java.lang.NullPointerException
Sample Java Logback Exception
Sample.errorLevel3
Sample.java
35
Sample.errorLevel4
Sample.java
34
Sample.errorLevel5
Sample.java
30
Sample.errorLevel6
Sample.java
3
任何人有匹配異常消息的領域更好的正則表達式?
你爲什麼不只是使用錯誤對象來獲取數據,你需要? –
那麼,你沒有把缺少的部分放在一個組中(括號內),所以他們不會被報告。 – RealSkeptic