I recently tried to write the look-behind expression (?<=(?:199\d|200\d|\D)) but that results in the error Variable length lookbehind not implemented before HERE mark in regex m/(?<=(?:199\d|200\d|\D)) << HERE /. I got it to work by prepending three dots to ...\D but since I wasn't using any variable quantifiers (question mark, plus, asterisk, etc) I think it should have worked in the first form. So what's the deal here? Even though every component of the alternation was of a known length, because the alternation itself was variable length this didn't work?
In reply to Not-really variable length lookbehind by diotalevi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |