extract()
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |
관련 콘텐츠
- 모든 함수 추출
- extract-json 함수
- 구문 분석 연산자
- 정규식