in reply to Re: Yet another regex bug.
in thread Yet another regex bug.

That implies that "removing the comment" is the translation...

/abc(?#comment)+/  ----> /abc(?#comment)+/ /abc+/

Where as I (and evidently at least 2 other people) expect it to be the translation...

/abc(?#comment)+/  ------> /abc()+/

Updated: forgot to acctually make the translation i was trying to show.

Replies are listed 'Best First'.
Re (3): Yet another regex bug.
by VSarkiss (Monsignor) on Nov 12, 2002 at 03:33 UTC

    Well, your first line is the identity transformation, which isn't removing anything. ;-)

    The parentheses surrounding the ?# are part of the syntax; that is, the comment marker in a regexp begins (?#, not ?#. (Check perlre: all the "funny" extended-pattern elements start with (?, one of the reasons being that it's a mnemonic to "question" what's coming next.1) Thus if you're removing the comment you should remove the parentheses as well.

    1I don't buy the explanation, by the way, but it's there..