使用正则表达式检查字符串是否以数字开头
check if a string starts with number using regular expression
如果一行以 03:32:33(时间戳)之类的数字开头,我正在匹配时编写 filebeat 配置。我目前正在通过-
\d
但是没有被识别出来,还有什么我应该做的。我不是特别好/有正则表达式的经验。帮助将不胜感激。
Regex: (^\d)
1st Capturing group (^\d)
^ Match at the start of the string
\d match a digit [0-9]
您可以使用:
^\d{2}:\d{2}:\d{2}
字符 ^ 匹配一行的开头。
真正的问题是 filebeat does not support \d
.
将 \d
替换为 [0-9]
,您的正则表达式将起作用。
我建议你看看filebeat的Supported Patterns。
此外,请确保您使用了 ^
,它代表字符串的开头。
您可以使用这个正则表达式:
^([0-9]{2}:?){3}
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) «?»
如果一行以 03:32:33(时间戳)之类的数字开头,我正在匹配时编写 filebeat 配置。我目前正在通过-
\d
但是没有被识别出来,还有什么我应该做的。我不是特别好/有正则表达式的经验。帮助将不胜感激。
Regex: (^\d)
1st Capturing group (^\d)
^ Match at the start of the string
\d match a digit [0-9]
您可以使用:
^\d{2}:\d{2}:\d{2}
字符 ^ 匹配一行的开头。
真正的问题是 filebeat does not support \d
.
将 \d
替换为 [0-9]
,您的正则表达式将起作用。
我建议你看看filebeat的Supported Patterns。
此外,请确保您使用了 ^
,它代表字符串的开头。
您可以使用这个正则表达式:
^([0-9]{2}:?){3}
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) «?»