in reply to Re^4: Integrating match counts into regex matching
in thread Integrating match counts into regex matching
I'm not sure that it is a different question? Anyhow, my limited testing threw up one case where the negative lookbehind was necessary:
With and without negative lookbehind:
Perl> 'aaabb' =~ m[ (?{ local( $a, $b ) }) ( (?<!a) ( a (?{++$a}) )+ ( b (?{++$b}) )+ ) (?(?{ $a+1 == $b }) (?=) | (?!) ) ]x and print "'$1'";; Perl> 'aaabb' =~ m[ (?{ local( $a, $b ) }) ( ( a (?{++$a}) )+ ( b (?{++$b}) )+ ) (?(?{ $a+1 == $b }) (?=) | (?!) ) ]x and print "'$1'";; 'abb'
A breif further test suggests that the negative lookahead may be unnecessary, but I threw it in on the basis that it would do no harm, and may catch a case I haven't thought to test. With a regex using closures, it's doubtful if it will slow things down noticably?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^6: Integrating match counts into regex matching
by ikegami (Patriarch) on Dec 19, 2008 at 08:57 UTC |