Exchange Online 메일 흐름 규칙의 정규식

메일 흐름 규칙(전송 규칙이라고도 함)의 조건 및 예외에서 정규식(RegEx)을 사용하여 메시지의 다른 부분(예: 메시지 헤더, 보낸 사람, 받는 사람, 제목 및 메시지 본문)의 텍스트 패턴을 일치시킬 수 있습니다. 조건 및 예외는 규칙의 작업을 전자 메일 메시지에 적용해야 하는지 여부를 결정합니다.

참고

고객 환경의 차이로 인해 Microsoft CSS(고객 지원 서비스)는 사용자 지정 정규식 스크립트("RegEx 스크립트")의 개발 또는 테스트에 참여할 수 없습니다. RegEX 사용자 지정 스크립트 개발, 테스트 및 디버깅의 경우 Microsoft 365 고객은 내부 IT 리소스를 사용해야 합니다. 또는 Microsoft 365 고객은 MCS(Microsoft Consulting Services)와 같은 외부 컨설팅 리소스를 사용하도록 선택할 수 있습니다. 스크립트 개발 리소스에 관계없이 CSS 지원 엔지니어는 고객에게 사용자 지정 RegEx 스크립트 문의를 지원할 수 없습니다.

메일 흐름 규칙과 관련된 관리 작업을 찾고 있나요? Exchange Online 메일 흐름 규칙(전송 규칙)을 참조하세요.

단순 식과 정규식 비교

단순식은 메시지에서 정확하게 일치시키려는 특정 값입니다. 간단한 식을 사용하는 조건 및 예외는 특정 단어 또는 텍스트 문자열과 일치합니다. 예를 들어 Yearly Sales Forecast.docx라는 문서를 찾는 메일 흐름 규칙 조건입니다.

정규식은 메시지에서 텍스트의 패턴을 찾는 데 사용되는 간결하고 유연한 표기법입니다. 이 표기법은 두 개의 기본 문자 유형인

  • 리터럴 문자: 대상 문자열에 있어야 하는 텍스트입니다. 이러한 문자는 입력된 대로 일반 문자입니다.
  • 메타 문자: 텍스트가 대상 문자열에서 어떻게 달라질 수 있는지를 나타내는 하나 이상의 특수 문자입니다.

정규식을 사용하여 전자 메일 메시지를 신속하게 구문 분석하여 특정 텍스트 패턴을 찾을 수 있습니다. 정규식을 사용하면 SSN(사회 보장 번호), 특허 번호 및 전화 번호와 같은 특정 유형의 콘텐츠가 포함된 메시지를 검색할 수 있습니다.

단순 식에는 검색할 값의 가능한 모든 변형이 필요하기 때문에 변수 데이터를 단순 식과 합리적으로 일치시킬 수 없습니다. 메시지 콘텐츠에서 많은 수의 단순 식을 일치시키는 것은 리소스 집약적일 수 있습니다. 정규식을 사용하는 것이 더 효율적입니다. 가능한 모든 변형을 지정하는 대신 텍스트 패턴을 검색하도록 메일 흐름 규칙 조건을 구성할 수 있습니다.

Exchange Online 정규식

Exchange Online PowerShell에서 로 끝나는 MatchesPatterns 매개 변수 이름은 정규식을 사용합니다. EAC(Exchange 관리 센터)에서 로 끝나는 조건 및 예외 이름... 은 정규식을 사용하는 이러한 텍스트 패턴과 일치합니다. 메일 흐름 규칙 조건 및 Exchange Online 예외에 대한 자세한 내용은 Exchange Online 메일 흐름 규칙 조건 및 예외(조건자)를 참조하세요.

경고

정규식을 신중하게 테스트합니다. 잘못 구성된 정규식은 예기치 않은 일치 항목을 생성하고 다음을 포함하여 원치 않는 메일 흐름 규칙 동작을 일으킬 수 있습니다.

  • 메시지 및 메시지 콘텐츠에 대한 바람직하지 않은 작업입니다.
  • 잠재적인 데이터 손실.

복잡한 정규식은 메일 흐름 성능에도 영향을 줄 수 있습니다. 프로덕션 환경에서 구현하기 전에 테스트 환경에서 정규식을 테스트하십시오.

다음 표에서는 Exchange Online 패턴 일치 정규식을 만드는 데 사용할 수 있는 패턴 문자열을 나열합니다.

패턴 문자열 설명
\S \S 패턴 문자열은 공백이 아닌 모든 단일 문자와 일치합니다.
\s \s 패턴 문자열은 모든 단일 공백 문자와 일치합니다.
\D \D 패턴 문자열은 숫자가 아닌 모든 문자와 일치합니다.
\D \d 패턴 문자열은 모든 한 자리 숫자와 일치합니다.
\W \w 패턴 문자열은 문자 또는 10진수로 분류된 단일 유니코드 문자와 일치합니다.
\W \W 패턴 문자열은 문자 또는 10진수로 분류되지 않는 단일 유니코드 문자와 일치합니다.
* 별표( * ) 문자는 이전 문자의 인스턴스 0개 이상과 일치합니다. 예를 들어 는 ab*c , 및 abc문자열과 abbbbc일치합니다ac.
| 파이프( | ) 문자는 OR 연산자 역할을 합니다. 예를 들어 'contoso|fabrikam'은 또는 fabrikamcontoso 인스턴스와 일치합니다.
( ) 괄호는 그룹 구분 기호의 역할을 합니다. 예를 들어 는 \a(bc)*\ , , abc, abcbcabcbcbc, 등의 문자열과 일치합니다a.
\ 백슬래시는 특수 문자 앞에 이스케이프 문자로 사용됩니다. 특수 문자는 패턴 문자열에 사용되는 다음과 같은 문자입니다.
  • 백슬래시 \
  • 파이프 |
  • 별표 *
  • 괄호 (
  • 닫는 괄호 )
  • 캐럿 ^
  • 달러 기호 $

예를 들어 를 포함하는 (525)문자열과 일치하려면 를 사용합니다 \(525\).

^ caret( ^ ) 문자는 매칭되는 텍스트 문자열의 시작 부분에 캐리트 뒤에 있는 패턴 문자열이 있어야 했음을 나타냅니다. 예를 들어 은 ^fred@contosofred@contoso.co.uk 일치하지만 은 일치 fred@contoso.com 하지 않습니다alfred@contoso.com.
$ 달러 기호( $ ) 문자는 일치하는 텍스트 문자열의 끝에 이전 패턴 문자열이 있어야 했음을 나타냅니다. 예를 들어 는 contoso.com$kim@research.contoso.com 일치 adam@contoso.com 하지만 와 일치하지 kim@contoso.com.au않습니다.

정규식 생성

앞의 표를 사용하여 일치시킬 데이터의 패턴과 일치하는 정규식을 생성할 수 있습니다.

  • 일치시키려는 데이터의 각 문자 또는 문자 그룹을 왼쪽부터 오른쪽으로 진행하며 작업합니다.
  • 각 패턴 문자열의 설명을 읽고 해당 패턴 문자열이 일치시키려는 데이터에 어떻게 적용되는지 확인합니다.
  • 표에서 해당 문자 또는 문자 그룹을 나타내는 패턴 문자열을 결정하고 해당 패턴 문자열을 정규식에 추가합니다.

참고

전송 규칙에 사용되는 정규식은 대/소문자를 구분 하지 않습니다 .

다음 예제에서는 425 555-0100 및 425.555.0100 형식의 북미 전화 번호와 일치합니다.

425(\s|.)\d\d\d(-|.)\d\d\d\d

지역 번호에 괄호를 사용하는 전화 번호 형식(예: (425) 555-0100)을 추가하여 이 정규식을 확장할 수 있습니다.

다음 예제에서는 세 가지 전화 번호 형식을 모두 일치합니다.

\d\d\d((\s|.|-|\)|\)\s)\d\d\d(\s|.|-)\d\d\d\d

앞에 나온 예를 다음과 같이 분석할 수 있습니다.

  • \d\d\d: 정확히 세 개의 숫자 숫자가 먼저 나타나야 합니다.
  • ((\s|.|-|\)|\)\s): 공백, 마침표 또는 하이픈이 세 자리 숫자 다음에 있어야 합니다. 각 문자 일치 문자열은 그룹 구분 기호에 포함되며 파이프 문자로 구분됩니다. 이 구분은 그룹화 구분 기호 내의 지정된 문자 중 하나만 일치하는 문자열의 이 위치에 존재할 수 있음을 의미합니다. 영역 코드와 다음 세 자리 사이의 구분을 위해 닫힌 괄호 또는 닫힌 괄호와 공백도 찾습니다.
  • \d\d\d: 정확히 세 개의 숫자 숫자가 다음에 나타나야 합니다.
  • (\s|.|-): 공백, 마침표 또는 하이픈이 세 자리 숫자 다음에 있어야 합니다.
  • \d\d\d\d: 정확히 4개의 숫자 숫자가 다음에 나타나야 합니다.

이전 예제는 다음 값과 일치합니다.

  • (425)555.0100
  • 425 555 0100
  • 425 555 0100
  • (425) 555-0100
  • 425-555-0100
  • (425) 555-0100

정규식을 사용하는 메일 흐름 만들기

다음 예제에서는 정규식을 사용하여 전자 메일 메시지의 제목에 있는 SSN과 일치하는 메일 흐름 규칙을 Exchange Online PowerShell에 만듭니다.

New-TransportRule -Name "Social Security Number Block Rule" -SubjectOrBodyMatchesPatterns '\d\d\d-\d\d-\d\d\d\d' -RejectMessageEnhancedStatusCode "5.7.1" -RejectMessageReasonText "This message has been rejected because of content restrictions"

자세한 구문 및 매개변수 정보 New-TransportRule을 참조하세요.

다음 예제에서는 새 메일 흐름 규칙을 보여줍니다.

Get-TransportRule "Social Security Number Block Rule" | Format-List

자세한 구문 및 매개 변수 정보는 Get-TransportRule을 참조하세요.