我試圖從Web服務器日誌的一些信息,它不是很規整,所以我碰上麻煩匹配正則表達式,我想匹配:可選值
例1:
2011-11-29 11:30:23,685 DEBUG [my.fully.qualified.package.Service] Added Action Item: M= 2 Success
實施例2:
2011-11-29 11:30:23,685 DEBUG [my.fully.qualified.package.Service] Added Action Item: M=10 Success
此正則表達式適用於實施例1:
(\d\d\d\d-\d\d-\d\d)\s[\d|:]+,\d+\s([A-Z]+)\s\[(.+)\]\s.+:\sM=\s(\d).+
其中第一組是日期,第二是日誌級別,第三是類名和第三個是M
值。
您可能已經注意到,例如1中,M =之後有位前的空間和其他例子還沒有,這就是爲什麼這個正則表達式是行不通的。
我也嘗試像M=[\s|d]+
,但我得到一些更多的字符相匹配,我問,人有建議如何與一個正則表達式匹配這兩個例子?