我在Grok中有一個代碼,它捕獲消息,並且如果它們符合給定條件,它們會得到一個標記。Grok中的正則表達式有時會捕獲值有時不是
我的問題是,有時候這個過濾器在測試時工作,有時候不會。有問題的正則表達式如下:
^(?!(?:\d\d\d\d-\d\d-\d\d.\d\d:\d\d:\d\d)).*$
此行檢查如果給定的消息不具有給定時間戳格式開始。換句話說:如果給定的消息不是以這個時間戳開始的,那麼它會得到一個標籤。
你可以用這個在線應用測試它自己:http://grokconstructor.appspot.com/do/match#result
對於這些測試值,該regepx捕捉符合條件的所有消息,因此兩行以「測試」以綠色突出顯示:
test
2016-09-23 18:26:49,714
2016-09-23 18:26:40,244
test
但是它抓住了第一次約會時輸入的是這樣的:
2016-09-23 18:26:49,714
2016-09-23 18:26:40,244
test
我想了解世界衛生大會t是這種行爲背後的原因,我怎麼能阻止它呢?
'.'似乎匹配那個單獨的空間@WiktorStribiżew – revo
[這是不可重複的] – revo
@revo OP表示它有時會起作用。對於第二組數據,我得到:http://i.stack.imgur.com/AphzA.png – Laurel