정규식을 사용하여 용어 찾기
AB10045
이 주문 번호에 사용되는 구문과 같이 의미 있는 패턴을 포착하는 정규식을 정의합니다.
컬렉션의 필드에서 정보를 식별하고 추출할 수 있는 정규식을 정의하세요.
예를 들어, 이 정규식은 특정 형식과 길이의 신용카드 번호가 포함된 항목을 찾습니다.
4[0-9]{15}
다음 정규식은 미국 사회 보장 번호가 포함된 항목을 찾습니다.
(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}
정규식을 추가하려면 다음 단계를 완료하십시오
-
영역 개념 가르치기 패널의 개선 도구 섹션에서 정규식를 선택합니다.
-
업로드를 클릭하십시오.
-
선택 사항입니다: 패싯 경로를 지정하여 정규식과 일치하는 모든 텍스트를 분류합니다. 나중에 이 패싯을 기준으로 텍스트를 필터링할 수 있습니다.
카테고리 계층 구조를 사용하는 경우 패싯 경로에서 카테고리 이름 사이에 마침표를 추가하여 계층 구조를 나타냅니다. 예를 들어 전화번호를 인식할 수 있는 정규식을 추가하는 경우
international.europe
과 같은 패싯 경로를 사용할 수 있습니다. -
정규식을 추가합니다.
-
Java™ 정규 표현식을 사용하십시오.
-
정규식은 가능한 한 짧고 이해하기 쉽게 작성하세요.
-
최고의 정규식은 일치 또는 일치하지 않는 것으로 빠르게 결정합니다.
-
일반적인 패턴을 사용합니다. 예를 들어,
a(b|c|d)
대신(ab|ac|ad)
를 사용하십시오. -
정규식 엔진이 역추적할 때 문자열의 끝부분에 대해 부정적인 매칭을 할 수 없어서 실패할 수 있으며, 너무 많은 순열을 시도하게 됩니다. 역추적을 방지하려면
(a+b*)++c
과 같은 소유격 한정자를 사용하는 것이 좋습니다.
-
-
작성을 클릭하십시오.
-
컬렉션과 필드를 선택하여 이 정규식 패턴과 일치하는 텍스트가 있는지 검색합니다.
출력에서 정규식 강화에 의해 추출된 정보는 entities
배열 내의 enriched_{field_name}
아래에서 찾을 수 있습니다.
이 예에서 패싯 경로는 regex.cccardnumber
이고, 보강을 위해 선택된 필드는 text
입니다.
{
"enriched_text": [
{
"entities": [
{
"path": ".regex.cccardnumber",
"type": "cccardnumber",
"text": "4000000000000000"
}
]
}
],
"text": [
"He has 2 phones, 090-1234-5678 and 080-1234-5678. His credit card number is 4000000000000000."
]
}
개선 및 사용자 지정 페이지에서 테스트 쿼리를 제출할 때 enriched_text.entities.model_name
필드를 기반으로 하는 패싯을 추가할 수 있습니다. 결과적으로 생성한 cccardnumber
정규식 보강이 문서를 필터링할 수 있는 패싯 값으로 표시됩니다. 패싯 생성에 대한 자세한 내용은 패싯 추가하기 를 참조하세요.
정규식 제한
서비스 인스턴스당 정의할 수 있는 정규식의 수는 Discovery 요금제 유형에 따라 다릅니다.
플랜 | 서비스 인스턴스별 정규식 |
---|---|
Cloud Pak for Data | 무제한 |
프리미엄 | 100년 |
구축 | 100년 |
플러스(평가판 포함) | 20 |