extract()
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
원본 문자열에서 정규식에 대한 일치 항목을 가져옵니다.
필요에 따라 추출된 부분 문자열을 표시된 형식으로 변환합니다.
구문
extract(
regex,
captureGroup,
원본 [,
typeLiteral])
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
regex | string |
✔️ | 정규식입니다. |
captureGroup | int |
✔️ | 추출할 캡처 그룹입니다. 0은 전체 일치를 의미하고, 정규식에서 첫 번째 '('괄호')'와 일치하는 값의 경우 1, 후속 괄호에 대해 2개 이상을 나타냅니다. |
source | string |
✔️ | 검색할 문자열입니다. |
typeLiteral | string |
제공된 경우 추출된 부분 문자열이 이 형식으로 변환됩니다. 예들 들어 typeof(long) 입니다. |
반품
regex가 원본에서 일치 항목을 찾은 경우: 지정된 캡처 그룹 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)