C++ Regexp:找到的每个项目的组(PCRE)
我用C++(Borland)使用PCRE,想得到一组的所有匹配。< /P>C++ Regexp:找到的每个项目的组(PCRE),c++,regex,pcre,C++,Regex,Pcre,我用C++(Borland)使用PCRE,想得到一组的所有匹配。< /P> ^(\w+\s)(\w+\s)*(\w+)$ 输入1:第一个第二个第三个 结果分为3组(第一组、第二组和第三组) 输入2:第一个第二个第三个 结果也分为3组(第一组、第二组和第三组),但我需要4组 第二个单词是可选的,出现0-n次 //编辑:我认为你最好的选择是: ^(\w+\s)((?:\w+\s)*)(\w+)$ 然后手动匹配内部的x字,通过字符串比较查找\s。PCRE似乎有一个功能,因此如果您知道 分隔符是一组
^(\w+\s)(\w+\s)*(\w+)$
输入1:第一个第二个第三个
结果分为3组(第一组、第二组和第三组)
输入2:第一个第二个第三个
结果也分为3组(第一组、第二组和第三组),但我需要4组
第二个单词是可选的,出现0-n次
//编辑:我认为你最好的选择是:
^(\w+\s)((?:\w+\s)*)(\w+)$
然后手动匹配内部的x字,通过字符串比较查找
\s
。PCRE似乎有一个功能,因此如果您知道
分隔符是一组空白,您应该拆分
文本和,取决于拆分字段的计数,
作出相应的反应
问候
rbo我认为这是不可能的。请参阅无法直接执行的操作,但将第二个捕获从
(\w+\s)*
更改为((?:\w+\s)*)
将捕获所有内容,代价是需要在第二个捕获组上执行额外的拆分步骤来提取所有元素。无pb。如果这个问题为你解决了,别忘了投票选出相关的答案和评论来奖励作者。并将您的问题标记为已解决,以结束主题。非常感谢。看起来柯达在这个话题上很有意思