필드 정규화 규칙의 정규 표현식 및 패턴

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 2분
  • 필드 변환 정의는 문자열에서 문자의 위치를 결정하기 위한 정규 표현식(플랫폼에서는 정규 표현식이라고 함) 및 패턴 일치의 사용을 지원합니다.

    대상 문자를 식별한 후 필드 변환은 식별된 문자를 대체 또는 삭제하거나 해당 위치에 다른 문자를 삽입할 수 있습니다.

    정규 표현식

    정규 표현식은 변환 매개변수 및 조건문에서 필드 값에서 변환되는 문자를 결정하는 데 사용될 수 있습니다.

    변환된 필드 값에서 문자를 찾기 위한 매개변수로 사용되는 정규 표현식은 로 시작해야 /regex/합니다. 그 이후의 모든 것은 문자 위치를 계산하는 데 사용되는 정규식입니다.

    예제

    조직 Windows 네트워크의 컴퓨터 이름은 도메인\컴퓨터 이름(예: development\devlab01)으로 표시됩니다. 네트워크 관리자는 도메인 이름과 백슬래시를 제거하여 이러한 이름을 단순화하려고 합니다. 컴퓨터 [cmdb_ci_computer] 테이블에 대한 변환 레코드를 만들고 변환할 이름 필드를 선택합니다.
    그림 1. 변환 정규 표현식 예시
    네트워크에는 여러 도메인이 포함되어 있으며 각 도메인에는 수많은 컴퓨터가 포함되어 있습니다. 각 이름에 공통적인 유일한 문자는 백슬래시입니다. 도메인 이름을 삭제하기 위해 관리자는 정규 표현식을 사용하여 필드의 전체 원시 값을 백슬래시 뒤에 오는 문자(실제 컴퓨터 이름)로 바꾸기로 결정합니다. 그는 Replace 를 Transform Type으로 사용하여 새 Transform을 만들고 다음 값을 입력합니다.
    • 찾기:/regex/.*\\(.*)
    • 다음으로 바꾸기:$1
    그림 2. 변환 정규 표현식 예시

    정규 표현식 .*\\(.*)이름 필드의 전체 원시 값을 나타냅니다(이 예에서는 development\devlab01). 식의 첫 번째 부분인 .*는 백슬래시( 개발 도메인 이름) 앞의 모든 것을 나타냅니다. 백슬래시 자체는 정규식의 이스케이프 문자이며 컴퓨터 이름에 해당 기능을 유지하려면 특수 구문이 필요합니다. 관리자는 다른 백슬래시(\\는 \를 의미함)를 사용하여 이를 이스케이프 해야 합니다. 식에서 백슬래시 (.*) 뒤의 부분은 컴퓨터 이름(devlab01)을 나타내며 참조를 위해 괄호 안에 그룹화됩니다. 다음으로 바꾸기 필드의 값 $1은 이 그룹을 참조하고 필드의 전체 원시 값을 그룹의 컨텐츠인 devlab01로 대체합니다.

    관리자는 변환 기록에서 테스트 변환을 클릭하고 원시 데이터 필드에 development\devlab01을 입력합니다. 그런 다음 확인을 클릭하여 테스트 값에 변환을 적용합니다. 이 변환은 development\devlab01devlab01로 바꿉니다.
    그림 3. 변환 정규 표현식 3

    이 필드에 대한 변환이 성공적으로 테스트되면 관리자는 변환 기록의 모드를활성 으로 변경하고 변환 애플리케이션 데이터 작업을 실행하여 이 변환을 데이터베이스의 기존 기록에 적용합니다.