我正在寫一個日誌分析器,它讀取日誌行由行,我有大約100規則,它的工作原理是這樣的:加快正則表達式匹配?
if ($line =~ /blabla (field1) (field2)/)
{ do something }
else if ($line =~ /something (field1) (field2) else/)
{ do something }
但對於一個大的日誌文件,它可能會很慢匹配這麼多規則的一條線,它會是O(n)
。
那麼,對這個問題有什麼建議嗎?由於它不僅僅是簡單的字符串和通配符匹配,我不知道是否有任何數據結構可以使用。
你介意給我們一些你的數據樣本嗎?而另一個問題是,這裏允許使用哪種語言? – Rubens
@Rubens你好,rubens,你的意思是「任何語言」?你的意思是如果我可以接受另一種編程語言? – daisy
是的,對不起,這正是問題:它可以用任何語言製作嗎?只是注意到有一個標籤指的是perl ^^無論如何,你能得到一些兩三行的數據,還是僅僅是一個帶有主分隔符的例子? – Rubens