Can anyone show me what an if
statement with a regex looks like in logstash?
My attempts:
if [fieldname] =~ /^[0-9]*$/
if [fieldname] =~ "^[0-9]*$"
Neither of which work.
What I intend to do is to check if the "fieldname" contains an integer
To combine the other answers into a cohesive answer.
Your first format looks correct, but your regex is not doing what you want.
/^[0-9]*$/
matches:
^
: the beginning of the line
[0-9]*
: any digit 0 or more times
$
: the end of the line
So your regex captures lines that are exclusively made up of digits. To match on the field simply containing one or more digits somewhere try using /[0-9]+/
or /\d+/
which are equivalent and each match 1 or more digits regardless of the rest of the line.
In total you should have:
if [fieldname] =~ /\d+/ {
# do stuff
}
The simplest way is to check for \d
if [fieldname] =~ /\d+/ {
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With