任何人都可以告诉我什么if是正则表达式在logstash中的声明?
我的尝试:
if [fieldname] =~ /^[0-9]*$/
if [fieldname] =~ "^[0-9]*$"
Run Code Online (Sandbox Code Playgroud)
两者都不奏效.
我打算做的是检查"fieldname"是否包含整数
Wil*_*ell 16
将其他答案组合成一个有凝聚力的答案.
你的第一种格式看起来是正确的,但是你的正则表达式没有做你想要的.
/^[0-9]*$/ 火柴:
^:行的开头
[0-9]*:任何数字0次或更多次
$:结束了
所以你的正则表达式捕获专门由数字组成的行.要在字段上匹配,只需在某处包含一个或多个数字,请尝试使用/[0-9]+/或/\d+/等效,并且每个匹配1个或更多个数字,而不管该行的其余部分.
总共你应该:
if [fieldname] =~ /\d+/ {
# do stuff
}
Run Code Online (Sandbox Code Playgroud)