2016-05-30 5 views
4

行が03:32:33(タイムスタンプ)のような数字で始まる場合、私が一致するときにfilebeat設定を書いています。私は現在、それを行っています -正規表現を使用して文字列が数字で始まるかどうかを確認します。

\d 

しかし、それが認識されない、私は何をすべきか他にありますか?私は特に良いことではない/正規表現の経験がある。ヘルプは高く評価されます。

答えて

6

実際の問題は、ファイルビープdoes not support \dです。

\d[0-9]に置き換えて、正規表現が機能します。

ファイルビートのSupported Patternsを見ることをお勧めします。

また、^を使用していることを確認してください。文字列の先頭を表します。

あなたがこの正規表現を使用することができます
3
Regex: (^\d) 

1st Capturing group (^\d) 
    ^Match at the start of the string 
    \d match a digit [0-9] 
0

あなたは使用することができます。

^\d{2}:\d{2}:\d{2} 

文字^は、行の先頭に一致します。

0

^([0-9]{2}:?){3}


DEMO


Assert position at the beginning of the string «^» 
Match the regex below and capture its match into backreference number 1 «([0-9]{2}:?){3}» 
    Exactly 3 times «{3}» 
     You repeated the capturing group itself. The group will capture only the last iteration. Put a capturing group around the repeated group to capture all iterations. «{3}» 
     Or, if you don’t want to capture anything, replace the capturing group with a non-capturing group to make your regex more efficient. 
    Match a single character in the range between “0” and “9” «[0-9]{2}» 
     Exactly 2 times «{2}» 
    Match the character “:” literally «:?» 
     Between zero and one times, as many times as possible, giving back as needed (greedy) «?» 
関連する問題