전송 규칙의 정규식

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2016-03-18

MicrosoftExchange Server 2010 전송 규칙 조건자에 정규식을 사용하여 메시지 헤더, 보낸 사람, 받는 사람, 메시지 제목 및 본문과 같은 여러 메시지 부분의 텍스트 패턴을 일치시킬 수 있습니다. 조건자는 구성된 작업을 전자 메일 메시지에 적용해야 하는지 결정하기 위해 조건 및 예외에서 사용됩니다.

참고

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

전송 규칙과 관련된 관리 작업에 대한 자세한 내용은 전송 규칙 관리 항목을 참조하세요.

목차

단순식과 정규식 비교

Exchange 2010의 정규식

정규식을 사용하는 전송 규칙 만들기

단순식과 정규식 비교

정규식을 이해하려면 먼저 단순식을 이해해야 합니다. 단순식은 메시지에서 정확하게 일치시키려는 특정 값입니다. 단순식을 사용한 조건자는 특정 단어나 문자열을 일치시킵니다. 단순식의 예로 조직에서 외부로 배포되기를 원하지 않는 문서의 제목(예: Yearly Sales Forecast.doc)이 있습니다. 전자 메일 메시지의 데이터는 전송 규칙의 조건 또는 예외를 만족하도록 단순식과 정확하게 일치해야 합니다.

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

  • 리터럴 문자   대상 문자열에 있어야 하는 텍스트입니다. 이러한 문자는 입력된 일반 문자입니다.

  • 메타 문자   리터럴로 해석되지 않는 하나 이상의 특수 문자입니다. 이러한 문자는 텍스트가 대상 문자열에서 어떻게 달라질 수 있는지를 나타냅니다.

정규식을 사용하면 전자 메일 메시지를 빠르게 구문 분석하여 특정 텍스트 패턴을 찾을 수 있습니다. 이 기능을 통해 SSN(주민 등록 번호), 특허 번호, 전화 번호 등 특정 형식의 콘텐츠가 포함된 메시지를 검색할 수 있습니다.

이러한 데이터는 단순식과 적절하게 일치시킬 수 없는데, 이는 단순식의 경우 검색하려는 값의 가능한 모든 변형을 입력해야 하기 때문입니다. 대체로 이러한 응용 프로그램에 단순식을 사용하는 것은 현실적으로 비효율적이며 메시지 콘텐츠에서 여러 단순식을 일치시키는 데 리소스가 많이 소모될 수 있습니다. 일반적으로 정규식을 사용하는 것이 더 효율적입니다. 가능한 모든 변형을 지정하는 대신 텍스트 패턴을 검색할 전송 규칙 조건자를 구성하면 됩니다.

Exchange 2010의 정규식

Exchange 관리 셸에서는 Patterns 조건자 속성을 허용하는 모든 조건자에서 정규식을 사용할 수 있습니다. Exchange 관리 콘솔에서는 텍스트 패턴이 있는 단어가 포함된 모든 조건 또는 예외에서 정규식을 사용할 수 있습니다. 조건자에 대한 자세한 내용은전송 규칙 조건자을 참조하세요.

경고

사용자가 만든 정규식은 신중히 테스트하여 원하는 결과가 산출되는지 확인해야 합니다. 잘못 구성된 정규식은 예기치 않은 결과를 산출하고 불필요한 전송 규칙 동작을 야기할 수 있습니다. 이 경우 메시지와 메시지 콘텐츠에 대해 불필요한 작업이 수행되어 메시지 거부, 반송 등의 작업을 사용할 때 데이터가 손실될 수 있습니다. 또한 복잡한 정규식이 메일 전송 성능에 영향을 미칠 수 있습니다. 프로덕션 환경에서 구현하기 전에 테스트 환경에서 정규식을 테스트하세요.

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

패턴 문자열

패턴 문자열 설명

\S

\S 패턴 문자열은 공백이 아닌 모든 단일 문자와 일치합니다.

\s

\s 패턴 문자열은 모든 단일 공백 문자와 일치합니다.

\D

\D 패턴 문자열은 숫자가 아닌 모든 문자와 일치합니다.

\d

\d 패턴 문자열은 모든 한 자리 숫자와 일치합니다.

\w

\w 패턴 문자열은 문자 또는 10진수로 분류된 단일 유니코드 문자와 일치합니다.

\W

\W 패턴 문자열은 문자 또는 10진수로 분류되지 않는 단일 유니코드 문자와 일치합니다.

|

파이프(|) 문자는 OR 함수를 수행합니다.

*

별표(*) 문자는 0개 이상의 이전 문자 인스턴스와 일치합니다. 예를 들어 ab*cac, abc, abbbbc 문자열과 일치합니다.

( )

괄호는 그룹 구분 기호의 역할을 합니다. 예를 들어 a(bc)*a, abc, abcbc, abcbcbc 등의 문자열과 일치합니다.

\

백슬래시는 특수 문자 앞에 이스케이프 문자로 사용됩니다. 특수 문자는 패턴 문자열에 사용되는 다음과 같은 문자입니다.

  • 역슬래시(\)

  • 파이프(|)

  • 별표(*)

  • 여는 괄호(()

  • 닫는 괄호())

  • 캐럿(^)

  • 달러 기호($)

예를 들어 (525)가 포함된 문자열을 일치시키려면 \(525\)를 입력해야 합니다.

^

캐럿(^) 문자는 캐럿 다음에 오는 패턴 문자열이 일치하는 텍스트 문자열의 시작에 있어야 함을 나타냅니다.

예를 들어 ^fred@contoso fred@contoso.com fred@contoso.co.uk와 일치하지만 alfred@contoso.com과는 일치하지 않습니다.

$

달러 기호($) 문자는 앞에 오는 패턴 문자열이 일치해야 하는 텍스트 문자열의 끝에 와야 함을 나타냅니다.

예를 들어 contoso.com$adam@contoso.com kim@research.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   정확하게 네 자리 숫자가 다음에 와야 합니다.

위의 정규식은 다음 샘플 값과 일치합니다.

  • (425)555.0100

  • 425 555 0100

  • 425. 555-0100

  • (425) 555-0100

  • 425-555-0100

  • (425) 555-0100

정규식을 사용하는 전송 규칙 만들기

이 예에서는 정규식을 사용하여 전자 메일 메시지의 제목에 있는 SSN을 일치시키는 전송 규칙을 셸에서 만듭니다.

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" 

이 예에서는 새 전송 규칙을 볼 수 있습니다.

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

 © 2010 Microsoft Corporation. 모든 권리 보유.