다음을 통해 공유


extract()

적용 대상: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

원본 문자열에서 정규식 일치 항목을 가져옵니다.

필요에 따라 추출된 부분 문자열을 표시된 형식으로 변환합니다.

통사론

extract( regex,captureGroup,원본 [,typeLiteral])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 필수 묘사
정규식 string ✔️ 정규식.
captureGroup int ✔️ 추출할 캡처 그룹입니다. 0은 전체 일치를 의미하고, 정규식에서 첫 번째 '('괄호')'와 일치하는 값의 경우 1, 후속 괄호에 대해 2개 이상을 나타냅니다.
원본 string ✔️ 검색할 문자열입니다.
typeLiteral string 제공된 경우 추출된 부분 문자열이 이 형식으로 변환됩니다. 예를 들어 typeof(long).

반환

regex소스일치하는 항목을 찾은 경우: 지정된 캡처 그룹 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

문자열에서 사용자 이름 추출

다음 예제에서는 문자열에서 사용자 이름을 반환합니다. 정규식 ([^,]+) 다음 텍스트인 "User: "를 다음 쉼표까지 일치하여 사용자 이름을 효과적으로 추출합니다.

쿼리 실행

let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
| print UserName = extract("User: ([^,]+)", 1, Text)

출력

UserName
JohnDoe