2016-08-23 18 views
0

私はgrok/logstash newbeです。私のメッセージに3番目の数字のセットが一致していません。 GROK {一致=:GROKの3番目の一致

"メッセージ" => "XYZイベント= 345列= 55値= 75"

基本的に私が欲しいのは数字 '75'

私のフィルターの最後のセットです> ["message"、 "(?[0-9] +)"] は345を返します。どのようにして3の一致を指定しますか?

+0

てみ '試合=> [ "メッセージ"、「数字の第三セット(? [0-9] +)$ "]' –

答えて

0

桁の第三セットを一致させるには、あなたが

^(?:\D*\d+){2}\D*(?<value>\d+) 

regex demo

パターンがの詳細を参照してください使用する必要があります。

  • ^(?:\D*\d+){2} - ゼロまたはそれ以上の非桁が続くと1桁の数字で2回
  • \D* - 0+非桁
  • (?<value>\d+)から
+0

私のメッセージには最後に予測できない文字が含まれていますので、基本的に3番目の数字セット[0-9] +を取得する必要があります。基本的に$ – Duncan

+0

を使用できません。あなたの質問にお答えしますか? –

+0

更新された解決策を試しましたか?それがうまくいかない場合、 '^ \ D *(?:\ d + \ D +){2}(? \ d +)'これはより限定的であり、少なくとも3桁のチャンクが1以上の非数字記号で区切られている必要があります。 –

関連する問題