分组是否在Perl正则表达式字符类中工作?

pio*_*otr 6 regex perl

考虑以下代码:

perl -wne 'chomp;print if m/[^(?:test)]/'
Run Code Online (Sandbox Code Playgroud)

我很惊讶地发现在一个角色类中进行分组是有效的,这有(?!pattern)什么不同 ?

cod*_*ict 11

/[^(?:test)]/
Run Code Online (Sandbox Code Playgroud)

不是在char类中进行分组.^后面的[]中列出的所有字符都将按字面处理,这将匹配包含除字符之外的字符串的任何字符串( ? : t e s t )

  • 我认为我看到的最常见的正则表达式错误之一是[\.]. (5认同)