Link to home
Start Free TrialLog in
Avatar of s-w
s-wFlag for United States of America

asked on

Exchange 2010 Transport Rule Regex not working as expected

I'm trying to match a numeric header value to between 300 and 999.

The condition is "when the message header matches text patterns"

I'm using ^(3|4|5|6|7|8|9)\d\d$ based on https://technet.microsoft.com/en-us/library/aa997187%28v=exchg.141%29.aspx

It's working for 300-999, but it's also matching values like 85 and 215.  It seems to match any value with at least 2 digits.

Is my regex correct?  Does regex work correctly for header values?
Avatar of Mark Bullock
Mark Bullock
Flag of United States of America image

You don't need the parentheses unless you are replacing the value.
Here is the simplest regex.
[3-9]\d\d

Open in new window


You can test it here.
http://regexr.com/3asi6
Avatar of s-w

ASKER

The [] and - syntax isn't shown as supported for the Transport Rules Regex.  See the Exchange link.  The regex I have works on test sites, it just doesn't work 100% of the time on Exchange.
ASKER CERTIFIED SOLUTION
Avatar of Dan Craciun
Dan Craciun
Flag of Romania image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of s-w

ASKER

^(3\d\d|4\d\d|5\d\d|6\d\d|7\d\d|8\d\d|9\d\d)$ works better.  It missed a single 945 over several days.

It's not a fix for what seems to be an Exchange bug, but a reasonable workaround.

Thanks.
You're welcome.