in reply to Count capturing parentheses in a compiled regexp
Nice snippet, but a couple of problems: the outer lookahead needs to be //s, else eg:
will fail.qr{( x )}x;
Also, this will find parens in embedded code and comments and treat as captures. If that doesn't seem worth worrying about it'd be enough to add a caveat I guess, else I think you can mimic perl's simplistic parsing reasonable easily for the code (just count to the balancing close-brace). Comments may actually be the trickiest, since you'll need to know when //x is in force:
qr{ (?x: # (comment) ) (?-x: # (capture) ) }
Oops, another one: parens in [ ... ] should be ignored too; I'm not sure how easy those would be to parse, since not every ] closes the selection.
Hugo
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: Count capturing parentheses in a compiled regexp
by BooK (Curate) on May 02, 2004 at 15:20 UTC |
In Section
Cool Uses for Perl