blldw 2012年11月21日
求一个有关捕获组的正则表达式

std::string str = "port 1-100, 2-200, 5-500";
std::regex reg("port\\s?((\\d+\\s*-\\s*\\d+)[,|\\s]*)+");
std::smatch match_result;
bool matched = std::regex_match(str, match_result, reg);
for (int i = 0; i < match_result.size(); ++i) {
std::cout << match_result[i] << std::endl;
}


为什么match_result的结果只能够把5-500捕获到,而1-100和2-200都捕获不到呢?求原因和解决方法。
...全文
133 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告