任何人都可以告诉我什么if
声明与正则表达式看起来像logstash?Logstash if语句与正则表达式示例
if [fieldname] =~ /^[0-9]*$/
if [fieldname] =~ "^[0-9]*$"
其工作既不的:
我的尝试。
我打算做的是检查“字段名”包含一个整数
任何人都可以告诉我什么if
声明与正则表达式看起来像logstash?Logstash if语句与正则表达式示例
if [fieldname] =~ /^[0-9]*$/
if [fieldname] =~ "^[0-9]*$"
其工作既不的:
我的尝试。
我打算做的是检查“字段名”包含一个整数
要其他答案组合成一个有凝聚力的答案。
你的第一个格式看起来是正确的,但你的正则表达式没有做你想做的。
比赛:
^
:行
[0-9]*
的开头:任何数字0或多次
$
:该行的末尾
所以,你的正则表达式捕获线这是专门由数字组成的。要在只包含一个或多个数字的字段上进行匹配,请尝试使用/[0-9]+/
或/\d+/
,它们是等效的,每个匹配1个或多个数字,而不考虑行的其余部分。
在总,你应该有:
if [fieldname] =~ /\d+/ {
# do stuff
}
你需要这个表达式(和支架,我认为):
if ([fieldname] =~ /^[0-9]+$/)
^
在开始断言位置串
$
在字符串的结尾断言位置
你的正则表达式匹配只是麻木的呃字符串,并且检查是否包含整数需要删除^
和$
。
最简单的方法是检查\d
if [fieldname] =~ /\d+/ {
...
}