Сбивает с толку регулярное выражение в Exchange

В Exchange 2010 у меня есть правило транспорта, которое не работает само по себе, и EMC отчитывает меня, если я пытаюсь это исправить.

Целью правила является блокирование любой электронной почты, приходящей с домена с "нами" в конце адреса, за исключением случаев, когда оно приходит от домена, который заканчивается законным сокращением штата США, такого как NY.US или CA.US

Как написано, шаблон соответствует:

.*@.*.us$ (любое письмо, оканчивающееся на ".us")

Кроме

.*@.*.az.us$ (государственные сокращения)

. (точка) метасимвол, кажется, здесь виноват, но если я попытаюсь избежать его с обратной косой чертой, как в:

.*@.*\.us$ (любое письмо, оканчивающееся на ".us")

Кроме

.*@.*\.az.us$ (государственные сокращения)

EMC жалуется: "Введенное вами регулярное выражение содержит следующую ошибку. Существует проблема с использованием символа обратной косой черты. В регулярном выражении символ обратной косой черты используется для сопоставления текстового шаблона... Символ обратной косой черты также можно использовать как побег персонаж..."

это именно то, что я пытаюсь сделать.

Есть идеи, как это исправить?

1 ответ

Ну, вы неправильно используете обратную косую черту. Я не уверен, почему вы пытаетесь избежать одного из этих периодов, но это неправильный синтаксис, и поэтому EMC сообщает вам, что есть проблема с использованием символа обратной косой черты.

Обратная косая черта используется как экранирующий символ перед специальным символом. Специальные символы - это символы, используемые в строках шаблона:

Обратная косая черта (\)

Труба (|)

Звездочка (*)

Открывающая скобка (()

Закрывающая скобка ())

Карета (^)

Знак доллара ($)

Например, если вы хотите сопоставить строку, содержащую (525), вы должны набрать (525).

Другими словами, вы не можете использовать обратную косую черту, чтобы "избежать" периода.

Другие вопросы по тегам