Qt6中QRegExp的setMinimal方法对应的QRegularExpression等价选项
Qt5 QRegExp::setMinimal 与 Qt6 QRegularExpression 的等价替换
- QRegExp的
setMinimal(true)和QRegularExpression的InvertedGreedinessOption完全等价。 - 两者核心功能一致:将正则表达式默认的贪婪匹配逻辑全局反转,让所有量词(如
*、+、{n,}等)从"尽可能多匹配"变为"尽可能少匹配",无需为每个量词单独添加?开启非贪婪模式。 - 代码对比示例:
Qt5 实现:
Qt6 对应实现:QRegExp rx("pattern.*"); rx.setMinimal(true);QRegularExpression rx("pattern.*", QRegularExpression::InvertedGreedinessOption); - 额外说明:如果仅需针对单个量词设置非贪婪,也可以直接在量词后追加
?(例如.*?),这种方式的效果和全局选项作用于单个量词时一致,但全局选项会一次性作用于整个正则表达式内的所有量词。
内容的提问来源于stack exchange,提问作者TSG
相关产品推荐
相关产品推荐

