One workaround is to use a negative look-ahead plus a dot instead of a negated character class:
use strict; use warnings; use 5.010; for (qw/'abc' "abc" 'abc"/) { if (/(?<FQ>['"])(?<content>(?:(?!\k<FQ>).)+)\k<FQ>/s) { say $+{content}; } else { say "Not matched: $_"; } } __END__ abc abc Not matched: 'abc"
In reply to Re: Named capture backreferences cannot be used in character classes?
by moritz
in thread Named capture backreferences cannot be used in character classes?
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |