in reply to Complex regex question
Yet another way. Pre-5.10 compatible; avoids explicit captures. Unfortunately, rather heavy on the look-arounds.
c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my $s = qq{a aa 21a a 123 a b9 b bb aa1 1aa @ARGV}; dd $s; ;; my @captures = $s =~ m{ \b \d+ (?= (?: a|b) \b) | (?<= \b (?: a|b)) \d+ \b | \b (?: a|b) (?= \d) | (?<= \d) (?: a|b) \b }xmsg; dd \@captures; " "aa11 11aa [b42] (12a)" "a aa 21a a 123 a b9 b bb aa1 1aa aa11 11aa [b42] (12a)" [21, "a", "b", 9, "b", 42, 12, "a"]
Give a man a fish: <%-{-{-{-<
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Complex regex question
by rsFalse (Chaplain) on Sep 25, 2019 at 18:52 UTC |