Сбивает с толку регулярное выражение в Exchange
В Exchange 2010 у меня есть правило транспорта, которое не работает само по себе, и EMC отчитывает меня, если я пытаюсь это исправить.
Целью правила является блокирование любой электронной почты, приходящей с домена с "нами" в конце адреса, за исключением случаев, когда оно приходит от домена, который заканчивается законным сокращением штата США, такого как NY.US или CA.US
Как написано, шаблон соответствует:
.*@.*.us$
(любое письмо, оканчивающееся на ".us")
Кроме
.*@.*.az.us$
(государственные сокращения)
. (точка) метасимвол, кажется, здесь виноват, но если я попытаюсь избежать его с обратной косой чертой, как в:
.*@.*\.us$
(любое письмо, оканчивающееся на ".us")
Кроме
.*@.*\.az.us$
(государственные сокращения)
EMC жалуется: "Введенное вами регулярное выражение содержит следующую ошибку. Существует проблема с использованием символа обратной косой черты. В регулярном выражении символ обратной косой черты используется для сопоставления текстового шаблона... Символ обратной косой черты также можно использовать как побег персонаж..."
это именно то, что я пытаюсь сделать.
Есть идеи, как это исправить?
1 ответ
Ну, вы неправильно используете обратную косую черту. Я не уверен, почему вы пытаетесь избежать одного из этих периодов, но это неправильный синтаксис, и поэтому EMC сообщает вам, что есть проблема с использованием символа обратной косой черты.
Обратная косая черта используется как экранирующий символ перед специальным символом. Специальные символы - это символы, используемые в строках шаблона:
Обратная косая черта (\)
Труба (|)
Звездочка (*)
Открывающая скобка (()
Закрывающая скобка ())
Карета (^)
Знак доллара ($)
Например, если вы хотите сопоставить строку, содержащую (525), вы должны набрать (525).
Другими словами, вы не можете использовать обратную косую черту, чтобы "избежать" периода.