任何人都可以告訴我什麼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+/ {
...
}