다음을 통해 공유


extract_all()

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