extract_all()
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
원본 문자열에서 정규식에 대한 모든 일치 항목을 가져옵니다. 필요에 따라 일치하는 그룹의 하위 집합을 검색합니다.
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
사용되지 않는 별칭: extractall()
구문
extract_all(
regex,
[captureGroups,
] 원본)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
regex | string |
✔️ | 1~16개의 캡처 그룹을 포함하는 정규식입니다. |
captureGroups | dynamic |
추출할 캡처 그룹을 나타내는 배열입니다. 유효한 값은 1부터 정규식의 캡처링 그룹 수까지입니다. 명명된 캡처 그룹도 허용됩니다. 예를 참조하세요. | |
source | string |
✔️ | 검색할 문자열입니다. |
반품
- regex가 원본에서 일치 항목을 찾은 경우: 표시된 캡처 그룹 captureGroups 또는 regex의 모든 캡처 그룹에 대한 모든 일치 항목을 포함하여 동적 배열을 반환합니다.
- captureGroups 수가 1이면 반환된 배열에 일치하는 값의 단일 차원이 있습니다.
- captureGroups 수가 1을 초과하는 경우: 반환된 배열은 captureGroups 선택당 다중 값 일치 항목의 2차원 컬렉션이거나 captureGroups를 생략하면 regex에 있는 모든 캡처 그룹입니다.
- 일치하는 항목이 없는 경우:
null
.
예제
단일 캡처 그룹 추출
다음 쿼리는 GUID의 16진수 표현(16진수 2자리)을 반환합니다.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
출력
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","광고","26","d3","14","49"] |
여러 캡처 그룹 추출
다음 쿼리는 세 개의 캡처링 그룹이 있는 정규식을 사용하여 각 GUID 부분을 첫 글자, 마지막 문자 및 중간에 있는 항목으로 분할합니다.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
출력
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
캡처 그룹의 하위 집합 추출
다음 쿼리는 캡처링 그룹의 하위 집합을 선택합니다.
정규식은 첫 글자, 마지막 문자 및 나머지 모든 문자와 일치합니다.
captureGroups 매개 변수는 첫 번째 부분과 마지막 부분만 선택하는 데 사용됩니다.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
출력
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]] |
명명된 캡처 그룹 사용
다음 쿼리의 captureGroups는 캡처 그룹 인덱스와 명명된 캡처 그룹 참조를 모두 사용하여 일치하는 값을 가져옵니다.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(?P<first>\w)(?P<middle>\w+)(?P<last>\w)", dynamic(['first',2,'last']), Id)
출력
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |