2017-02-20 112 views
6

logstashのような正規表現を使用したifの文は誰にでも表示できますか?Logstash正規表現を使用したif文

私の試み:

if [fieldname] =~ /^[0-9]*$/ 

if [fieldname] =~ "^[0-9]*$" 

どちらも仕事の。私はするつもり何

は、「フィールド名は、」あなたは、この正規表現必要整数

答えて

9

をチェックすることです。

最初の書式は正しいように見えますが、あなたの正規表現はあなたが望むことをしていません。

​​試合:

^:ライン

[0-9]*の始まり:任意の数字0回以上

$

は、だからあなたの正規表現は、行をキャプチャ行の終わり排他的に数字で構成されています。単純に1桁以上の数字を含むフィールドで一致させるには、/[0-9]+/または/\d+/を使用してください。これは同等で、残りの行に関係なく1桁以上一致します。あなたが持っている必要があり、合計で

if [fieldname] =~ /\d+/ { 
    # do stuff 
} 
0

含まれているかどうかを確認することです(とブラケットを、私は思う):

if ([fieldname] =~ /^[0-9]+$/) 
3

^は、開始時の位置をアサート文字列

$だけ無感覚に一致する文字列

あなたの正規表現の末尾の位置をアサートそして、チェックに整数が必要な場合は、^$を削除してください。

3

最も簡単な方法は、凝集答えに他の回答を組み合わせること\d

if [fieldname] =~ /\d+/ { 
    ... 
} 
関連する問題