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'은 또는 fabrikam 의 contoso 인스턴스와 일치합니다. |
( ) | 괄호는 그룹 구분 기호의 역할을 합니다. 예를 들어 는 \a(bc)*\ , , abc , abcbc abcbcbc , 등의 문자열과 일치합니다a . |
\ |
백슬래시는 특수 문자 앞에 이스케이프 문자로 사용됩니다. 특수 문자는 패턴 문자열에 사용되는 다음과 같은 문자입니다.
예를 들어 를 포함하는 |
^ | caret( ^ ) 문자는 매칭되는 텍스트 문자열의 시작 부분에 캐리트 뒤에 있는 패턴 문자열이 있어야 했음을 나타냅니다. 예를 들어 은 ^fred@contoso 와 fred@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을 참조하세요.