다음을 통해 공유


extract()

적용 대상: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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)