web-dev-qa-db-ja.com

正規表現を使用して、文字列が数字で始まるかどうかを確認します

行が03:32:33(タイムスタンプ)のような番号で始まる場合、一致するときにfilebeat構成を作成しています。私は現在それをやっています-

\d

しかし、それが認識されていない、私がすべき他の何かがあります。私は特に良くありません/正規表現の経験があります。ヘルプをいただければ幸いです。

10
Y0gesh Gupta

本当の問題は、filebeat\dをサポートしていません です。

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

Filebeatの サポートされているパターン をご覧になることをお勧めします。

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

11
Regex: (^\d)

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

次の正規表現を使用できます。

^([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) «?»
1
Pedro Lobito

次を使用できます。

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

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

0
compie