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:
>
> j10...@domain.com to j10...@domain.com
>
> I made the following regexp which kind of does the trick:
>
> /j10[0-3][0-9][0-...@domain\.com/ thisaddr...@domain.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/ thisaddr...@domain.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$/ thisaddr...@example.com

Note:

   * This expression still matches j10...@example.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
mag...@dsek.lth.se

Reply via email to