extract()
Определяет соответствие для регулярного выражения из исходной строки.
При необходимости преобразуйте извлеченную подстроку в указанный тип.
Синтаксис
extract(
Regex,
captureGroup,
source [,
typeLiteral])
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
Regex | string |
✔️ | Регулярное выражение. |
captureGroup | int |
✔️ | Извлекаемая группа отслеживания. 0 означает полное совпадение, 1 — значение, сопоставленное первой скобкой в регулярном выражении, и 2 или более — для последующих круглых скобок. |
source | string |
✔️ | Строка для поиска. |
typeLiteral | string |
Если указан, то извлеченная подстрока преобразуется в этот тип. Например, typeof(long) . |
Возвращаемое значение
Если regex находит соответствие в source, возвращается подстрока, сопоставленная с указанной группой записи captureGroup, при необходимости преобразованной в тип typeLiteral.
Если соответствия нет или не удается выполнить преобразование типа, возвращается null
.
Примеры
В примере строки Trace
производится поиск определения Duration
.
Соответствие преобразуется в real
, а затем умножается на константу времени (1s
), чтобы для Duration
был задан тип timespan
. В этом примере это равно 123,45 секунды:
T
| extend Trace="A=1, B=2, Duration=123.45, ..."
| extend Duration = extract("Duration=([0-9.]+)", 1, Trace, typeof(real)) * time(1s)
Этот пример аналогичен substring(Text, 2, 4)
.
extract("^.{2,2}(.{4,4})", 1, Text)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по