IBM Cloud Docs
정규식을 사용하여 용어 찾기

정규식을 사용하여 용어 찾기

AB10045 이 주문 번호에 사용되는 구문과 같이 의미 있는 패턴을 포착하는 정규식을 정의합니다.

컬렉션의 필드에서 정보를 식별하고 추출할 수 있는 정규식을 정의하세요.

예를 들어, 이 정규식은 특정 형식과 길이의 신용카드 번호가 포함된 항목을 찾습니다.

4[0-9]{15}

다음 정규식은 미국 사회 보장 번호가 포함된 항목을 찾습니다.

(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}

정규식을 추가하려면 다음 단계를 완료하십시오

  1. 영역 개념 가르치기 패널의 개선 도구 섹션에서 정규식를 선택합니다.

  2. 업로드를 클릭하십시오.

  3. 선택 사항입니다: 패싯 경로를 지정하여 정규식과 일치하는 모든 텍스트를 분류합니다. 나중에 이 패싯을 기준으로 텍스트를 필터링할 수 있습니다.

    카테고리 계층 구조를 사용하는 경우 패싯 경로에서 카테고리 이름 사이에 마침표를 추가하여 계층 구조를 나타냅니다. 예를 들어 전화번호를 인식할 수 있는 정규식을 추가하는 경우 international.europe 과 같은 패싯 경로를 사용할 수 있습니다.

  4. 정규식을 추가합니다.

    • Java™ 정규 표현식을 사용하십시오.

      자세한 내용은 Java 문서를 참고하세요. 또 다른 유용한 리소스는 Regex 101입니다.

    • 정규식은 가능한 한 짧고 이해하기 쉽게 작성하세요.

    • 최고의 정규식은 일치 또는 일치하지 않는 것으로 빠르게 결정합니다.

    • 일반적인 패턴을 사용합니다. 예를 들어, a(b|c|d) 대신 (ab|ac|ad)를 사용하십시오.

    • 정규식 엔진이 역추적할 때 문자열의 끝부분에 대해 부정적인 매칭을 할 수 없어서 실패할 수 있으며, 너무 많은 순열을 시도하게 됩니다. 역추적을 방지하려면 (a+b*)++c 과 같은 소유격 한정자를 사용하는 것이 좋습니다.

  5. 작성을 클릭하십시오.

  6. 컬렉션과 필드를 선택하여 이 정규식 패턴과 일치하는 텍스트가 있는지 검색합니다.

출력에서 정규식 강화에 의해 추출된 정보는 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