extract();
Область применения: ✅Microsoft Fabric✅✅
Определяет соответствие для регулярного выражения из исходной строки.
При необходимости преобразуйте извлеченную подстроку в указанный тип.
Синтаксис
extract(
regex,
captureGroup,
source [,
typeLiteral])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
regex | string |
✔️ | регулярное выражение. |
captureGroup | int |
✔️ | Извлекаемая группа захвата. 0 обозначает все совпадение, 1 для значения, соответствующего первому "("круглые скобки") в регулярном выражении, и 2 или более для последующих скобок. |
source | string |
✔️ | Строка для поиска. |
typeLiteral | string |
Если указан, то извлеченная подстрока преобразуется в этот тип. Например, typeof(long) . |
Возвраты
Если regex находит соответствие в source, возвращается подстрока, сопоставленная с указанной группой записи captureGroup, при необходимости преобразованной в тип typeLiteral.
Если соответствия нет или не удается выполнить преобразование типа, возвращается null
.
Примеры
Извлечение месяца из строки datetime
Следующий запрос извлекает месяц из строки Dates
и возвращает таблицу со строкой даты и месяцем.
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 |
Извлечение имени пользователя из строки
В следующем примере возвращается имя пользователя из строки. Регулярное выражение ([^,]+)
соответствует тексту "Пользователь: " до следующей запятой, эффективно извлекая имя пользователя.
let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
print UserName = extract("User: ([^,]+)", 1, Text)
выходных
Имя пользователя |
---|
ДжонДо |
Связанный контент
- Функция extract-all
- Функция extract-json
- Оператор синтаксического анализа
- регулярного выражения