extract_all()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

ソース文字列から正規表現と一致するすべてを取得します。 必要に応じて、一致するグループのサブセットを取得します。

print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]

非推奨のエイリアス: extractall()

構文

extract_all(regex, [captureGroups,] source)

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
regex string ✔️ 1 から 16 のキャプチャ グループを含む正規表現
captureGroups dynamic 抽出するキャプチャ グループを示す配列。 有効な値は、1 から正規表現内のキャプチャ グループの数までです。 名前付きキャプチャ グループも許可されます。 を参照してください。
ソース string ✔️ 検索する文字列。

返品

  • regex によって source で一致が見つかった場合: 指定されたキャプチャ グループ captureGroups、または regex 内のすべてのキャプチャ グループに対するすべての一致を含む動的配列を返します。
  • captureGroups の数が 1 の場合: 返される配列には、一致する値の 1 つの次元があります。
  • captureGroups の数が 1 より大きい場合: 返される配列は、captureGroups の選択ごと、または regex に存在するすべてのキャプチャ グループ (captureGroups が省略された場合) における複数値一致の 2 次元コレクションです。
  • 一致がない場合: null

1 つのキャプチャ グループを抽出する

次のクエリは、GUID の 16 進バイト表現 (2 桁の 16 進数) を返します。

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id) 

出力

ID guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"]

複数のキャプチャ グループを抽出する

次のクエリでは、3 つのキャプチャ グループを含む正規表現を使用して、各 GUID 部分を最初の文字、最後の文字、および中央にあるものに分割します。

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)

出力

ID guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]

キャプチャ グループのサブセットを抽出する

次のクエリでは、キャプチャ グループのサブセットを選択します。

正規表現は、最初の文字、最後の文字、残りすべてと一致します。

captureGroups パラメーターは、最初の部分と最後の部分のみを選択するために使用されます。

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id) 

出力

ID guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]]

名前付きキャプチャ グループの使用

次のクエリの captureGroups では、キャプチャ グループ インデックスと名前付きキャプチャ グループ参照の両方を使用して、一致する値をフェッチします。

print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(?P<first>\w)(?P<middle>\w+)(?P<last>\w)", dynamic(['first',2,'last']), Id) 

出力

ID guid_bytes
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]]