zhihuali wrote:
>
> I was wondering if there's a way to specify "not including this phrase" in
> perl regexp.
> Like such two strings:
> axbcabcd
> axbcacbd
>
> If I say "not including the letter a or the letter b" (=~/[^a^b]/) then
> neither of them will be matched. However now I want to say "not including the
> phrase 'ab'", then the string 2 should be matched. But I can't figure out how
> to specify the second condition by regexp. Could anyone help me?
/[^ab]/ will match if the string contains any character other than a or b, so it
will match both of those strings.
you need to negate the whole match, and say
not $str =~ /[ab]/
or
$str !~ /[ab]/
and to to the same with a string like you can write
not $str =~ /ab/
or
$str !~ /ab/
for instance
foreach my $str (qw/axbcabcd axbcacbd/) {
print "$str\n" if $str !~ /ab/;
}
outputs just
axbcacbd
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/