I think I've got it working with negative look-behind, but try to think of other test cases.
while( <DATA> ) { my( $expect, $string ) = split; my $result = $string =~ m/ @ (?: .* (?<! [@.] bar) \. )? example\.com $ /xi ? 'match' : 'fail'; printf " Got result '%s' when expecting '%s' on '%s'\n", $result, $expect, $string unless $result eq $expect; } __END__ match smith@example.com match jones@example.com match jones@foo.example.com fail jones@bar.example.com fail jones@foo.bar.example.com match jones@baz.example.com match jones@bbar.example.com fail jones@bar.example.com.com fail rednose@reindeer.org fail smythe@exzample.com fail teacher@make-an-example.com
In reply to Re: Re: Match all emails from all subdomains for a domain except one.. (tye)
by shenme
in thread Match all emails from all subdomains for a domain except one..
by ehdonhon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |