re.capture

다음에서 지원:
re.capture(stringText, regex)

설명

인수에 제공된 정규 표현식 패턴을 사용하여 문자열에서 데이터를 캡처(추출)합니다.

이 함수에는 두 개의 인수가 사용됩니다.

  • stringText: 검색할 원래 문자열입니다.
  • regex: 검색할 패턴을 나타내는 정규 표현식입니다.

정규 표현식은 0 또는 1 캡처 그룹을 괄호로 포함할 수 있습니다. 정규 표현식에 0 캡처 그룹이 포함된 경우 함수가 첫 번째 전체 일치 하위 문자열을 반환합니다. 정규 표현식에 1 캡처 그룹이 포함된 경우 캡처 그룹의 첫 번째 일치 하위 문자열을 반환합니다. 캡처 그룹을 2개 이상 정의하면 컴파일 오류가 반환됩니다.

매개변수 데이터 유형

STRING, STRING

반환 유형

STRING

코드 샘플

예 1

이 예시에서 $e.principal.hostname에 'aaa1bbaa2'가 포함되면 함수가 첫 번째 인스턴스를 반환하므로 다음이 True입니다. 이 예시에는 캡처 그룹이 없습니다.

"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
예 2

이 예시에서는 이메일에서 @ 기호 다음에 있는 모든 내용을 캡처합니다. $e.network.email.from 필드가 test@google.com이면 예시에서 google.com을 반환합니다. 다음 예시에는 캡처 그룹 하나가 포함되어 있습니다.

"google.com" = re.capture($e.network.email.from , "@(.*)")
예 3

정규 표현식이 텍스트의 하위 문자열과 일치하지 않으면 함수는 빈 문자열을 반환합니다. 빈 문자열을 제외하여 일치하는 항목이 없는 이벤트를 생략할 수 있습니다. 이는 re.capture()를 불일치로 사용하는 경우에 특히 중요합니다.

// Exclude the empty string to omit events where no match occurs.
"" != re.capture($e.network.email.from , "@(.*)")

// Exclude a specific string with an inequality.
"google.com" != re.capture($e.network.email.from , "@(.*)")