extract_all()
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft 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"]] |