QRegularExpression
偏离了QRegExp
5 个特定领域的功能:
- 支持
\A
和\z
- 支持全局匹配
- 去除通配符匹配
- 删除对劣质正则表达式语法的支持(现在仅支持 Perl 兼容正则表达式 (PCRE))
- 添加了对
*?
和+?
修饰符的支持
- 删除了对无用
QRegExp::CaretModes
的支持,除了QRegExp::CaretAtOffset
在这些变化中,有4 个与这个问题非常相关。PCRE 是迄今为止最先进的正则表达式引擎。因此,它当然支持反向引用以及许多其他QRegExp
无法实现的功能。
至于没有明确提及 PCRE 提供的所有功能的理由,这与 PCRE 是由 70k 字文档定义的事实有关。如果您对通过碳粉盒进行刻录感兴趣,请QRegularExpression
直接链接到此页面: http: //pcre.org/pcre.txt
顺便说一句,这些是 PCRE 支持的反向引用语法:
\n
按编号引用(可能不明确)
\gn
编号参考
\g{n}
编号参考
\g{-n}
数字相对参考
\k<name>
按名称引用 (Perl)
\k'name'
按名称引用 (Perl)
\g{name}
按名称引用 (Perl)
\k{name}
按名称引用 (.NET)
(?P=name)
按名称引用(Python)