OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: virtual.regexp not working

From: Magnus Bäck (magnusdsek.lth.se)
Date: Wed Jun 03 2009 - 01:46:15 CDT


On Wed, June 3, 2009 8:28 am, Kammen van, Marco, Springer SBM NL said:

> One of our users is requesting a batch of e-mail aliases ranging from:
>
> J10001domain.com to j10300domain.com
>
> I made the following regexp which kind of does the trick:
>
> /j10[0-3][0-9][0-9]\domain\.com/ thisaddressdomain.com
>
> But this adds the range of j10300 to j10399 which isn't wanted.
> So I tried the following regexp:
>
> /j(10001..10300)\domain\.com/ thisaddressdomain.com
>
> But that's not working....

Indeed, since ranges like that simply are not supported in regular
expressions. This should work:

/^j10([0-2][0-9][0-9]|300)example\.com$/ thisaddressexample.com

Note:

   * This expression still matches j10000example.com even though the
     sequence should start at 10001. I can't find a trivial way of
     accomplishing such an expression without it getting pretty complex.
     If that's an important requirement, consider just generating a static
     list. No need to use too complex regexps for strings that can be
     enumerated trivially.
   * Initial ^ added.
   * Final $ added.
   * Unnecessary escape character preceding the removed.
   * Using example.com as example domain rather than domain.com.

--
Magnus Bäck
magnusdsek.lth.se