in reply to Death to Dot Star!
The last task, to match a question, can be solved quite easily by reversing the string.
It's also very easy to make it work for escaped quotes by adding a negative look-ahead. my ($m) = reverse($myvar) =~ /"\?(.*?)"(?!\\)/s; Note that here you must use .*? instead of a negative char class since you want the engine to backtrack.
-Anomo
Note that it's OK to use .*? here. And due to optimizations in the regex engine it's even faster to use it than a negative char class, if the following pattern is constant as it is in this case.my ($m) = reverse($myvar) =~ /"\?(.*?)"/s; $m = reverse $m; print "matched <$m>\n";
It's also very easy to make it work for escaped quotes by adding a negative look-ahead. my ($m) = reverse($myvar) =~ /"\?(.*?)"(?!\\)/s; Note that here you must use .*? instead of a negative char class since you want the engine to backtrack.
-Anomo
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: Death to Dot Star!
by Anonymous Monk on Feb 27, 2002 at 04:49 UTC | |
by Anonymous Monk on Feb 27, 2002 at 16:46 UTC | |
by Anonymous Monk on Jul 05, 2002 at 04:27 UTC |
In Section
Meditations