首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++多个正则表达式条件语法

C++多个正则表达式条件语法
EN

Stack Overflow用户
提问于 2020-05-14 06:01:22
回答 1查看 90关注 0票数 0

换句话说,在c++正则表达式中有AND运算符吗?通常我只会使用|,但它不起作用

例如,我只想返回两位数和一位数

代码语言:javascript
运行
复制
string subject("This 91 - 500abc7 is a 5 test");
regex re("\\d\\d");

这只返回2位数字,如何添加第二个条件也匹配单个数字"\d“

结果应该是: 91 -7-5

EN

回答 1

Stack Overflow用户

发布于 2020-05-14 15:11:16

它不是您想要有1或2位数字(\d|\d\d)的"and“。

但是正则表达式有编号重复的符号:\d{1,2}

问题是\d{1,2}会与500中的50匹配。

所以你可以添加(负面的) look ahead/look:

(? (1或2个数字,前后不跟另一个数字)

所以std::regex re(R"((?<!\d)\d{1,2}(?!\d))");

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61785660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档