0

基本的に区切り文字「、」の間のフィールドを抽出し、値を変数に入れるsplunkクエリを作成しようとしています。

2 つのコンマの間のすべてを抽出したい。

,extract this@#$,
,extract this-=@#$, etc 

現在、正規表現を指定せずに の間のすべてを取得するオプションはありません, ,

私が考えることができる最も近いのは,.*, ..しかし.*、貪欲になり、他のすべてに一致します。

が検出された後にワイルドカード マッチングを停止するために使用できる正規表現はあり,ますか?

私は試した

.*$,
.*,

うまくいきませんでした。

4

2 に答える 2

1

Splunk 検索クエリで次の正規表現を使用すると、必要なフィールドが "FIELDNAME" として抽出されます

| rex "(?i)\,(?P<FIELDNAME>[^ ][a-z0-9#-@$ ]+)\,\s"

「、」の後(フィールドの後)にスペースがあるため、「\ s」を追加しましたが、「\ s」がなくても機能します。

于 2012-07-06T11:13:28.883 に答える
1

Splunkについてはわかりませんが、ほとんどの言語で試すことができます

/\,([^,]*)\,/

-- コンマ以外のすべての文字に一致します。抽出は\1になります。コンマの前にエスケープが必要かどうかはわかりません。

于 2012-05-03T02:15:05.050 に答える