次の方法で共有


extract()

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

ソース文字列から正規表現との一致を取得します。

必要に応じて、抽出された部分文字列を、指定した型に変換できます。

構文

extract( regex,captureGroup,source [,typeLiteral])

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

パラメーター

件名 タイプ 必須 説明
regex string ✔️ 正規表現
captureGroup int ✔️ 抽出するキャプチャ グループ。 0 は一致全体を表し、1 は正規表現の最初の '('かっこ')' で一致する値を表し、後続のかっこには 2 つ以上を表します。
ソース string ✔️ 検索する文字列。
typeLiteral string 指定した場合、抽出された部分文字列はこの型に変換されます。 たとえば、typeof(long) のようにします。

返品

regex によって source 内で一致が検出された場合: 指定されたキャプチャ グループ captureGroup に対して一致した substring。オプションで、typeLiteral に変換されます。

一致がないか、型変換が失敗した場合: null

次の例では、文字列からユーザー名、電子メール、年齢を抽出します。 正規表現は、情報を抽出するために使用されます。

クエリ を実行する

let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
print UserName = extract("User: ([^,]+)", 1, Text),
EmailId = extract(@"Email: (\S+),", 1, Text),
Age = extract(@"\d+", 0, Text)

出力

UserName EmailId 年齢
JohnDoe johndoe@example.com 二十九

次の例では、文字列 Dates から月を抽出し、日付文字列と月を int 型として持つテーブルを返します。

クエリ を実行する

let Dates = datatable(DateString: string)
[
    "15-12-2024",
    "21-07-2023",
    "10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month

出力

DateString
15-12-2024 12
21-07-2023 7
10-03-2022 3