Поделиться через


extract();

Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Определяет соответствие для регулярного выражения из исходной строки.

При необходимости преобразуйте извлеченную подстроку в указанный тип.

Синтаксис

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

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Тип Обязательно Описание
regex string ✔️ регулярное выражение.
captureGroup int ✔️ Извлекаемая группа захвата. 0 обозначает все совпадение, 1 для значения, соответствующего первому "("круглые скобки") в регулярном выражении, и 2 или более для последующих скобок.
источник string ✔️ Строка для поиска.
typeLiteral string Если указан, то извлеченная подстрока преобразуется в этот тип. Например, typeof(long).

Возвраты

Если regex находит соответствие в source, возвращается подстрока, сопоставленная с указанной группой записи captureGroup, при необходимости преобразованной в тип typeLiteral.

Если соответствия нет или не удается выполнить преобразование типа, возвращается null.

Примеры

В следующем примере извлекается имя пользователя, электронная почта, возраст из строки. Регулярное выражение используется для извлечения информации.

let _data = datatable(Text: string)
[
"User: James, Email: James@example.com, Age: 29",
"User: David, Age: 35"
];
_data |
extend UserName = extract("User: ([^,]+)", 1, Text),
       EmailId = extract(@"Email: (\S+),", 1, Text),
       Age = extract(@"\d+", 0, Text)

выходных

Текст UserName EmailId Age
Пользователь: Джеймс, электронная почта James@example.com: , возраст: 29 Джеймс James@example.com 29
Пользователь: Дэвид, Возраст: 35 Дэвид 35

В следующем примере извлекается месяц из строки 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 Month
15-12-2024 12
21-07-2023 7
10-03-2022 3