(?!\w) and (?=\W)
and also
(?<=\w) and (?<!\W)
are equivalent!?
This would unify your "descripted" \b and japhy's "left side boundary".
Also, if it ... flies like a duck, quacks like a duck. .. It probably is a duck?!:
my $rt = [ [AM => [(qr/\b/) x 2]], [japhy1 => [qr/(?:(?=\w)(?<!\w)|(?=\W)(?<!\W))/, qr/(?:(?<=\w)(?!\ +w)|(?<=\W)(?!\W))/]], [japhy2 => [qr/(?(?=\w)(?<!\w)|(?<!\W))/, qr/(?(?<=\w)(?!\w)|(?!\W +))/]], [ysth => [(qr/(?:(?=\w)(?<!\w)|(?!\w)(?<=\w))/) x 2]], ]; for my $thing (qw(, th this)) { for (@$rt) { my $try = $_->[0] . (' ' x (6 - length $_->[0])); # propose +r my ($lb, $rb) = @{$_->[1]}; (my $text = "this,that & this, that & this ,that & this , that + this") =~ s/$lb($thing)$rb/>>$1<</g; print "[$try|$thing]$text\n"; } }
Do I have the wrong test cases?
In reply to Re^4: Regex help
by pKai
in thread Regex help
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |