正则表达式:每个找到的项目的组(PCRE)
我正在使用带有 C++ (Borland) 的 PCRE,并且想要获取一组的所有匹配项。
^(\w+\s)(\w+\s)*(\w+)$
输入1:第一 第二第三 结果分为 3 组(第一、第二和第三)
输入 2:第一 第二 第二 第三 结果也有 3 组(第一、第二和第三),但我需要 4 组。
第二个词是可选的,出现 0 - n 次。
// 编辑:
I am using PCRE with C++ (Borland) and want to get all matches of a group.
^(\w+\s)(\w+\s)*(\w+)$
input 1: first second third
results in 3 groups (first, second and third)
input 2:first second second third
results in 3 groups (first, second and third) too, but I need 4 groups.
The second word is optinal and occurs 0 - n times.
// EDIT:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
PCRE 似乎有一个 split 功能,所以如果你知道你的
分隔符是一组空格,您应该将它们分开
文本,并且根据分割字段的数量,
做出相应反应。
问候
rbo
PCRE seems to have a split function, so if you know your
delimiters are a group of whitespace, you should split the
text and, depending on the count of splitted fields,
react accordingly.
Regards
rbo
我认为你最好的办法是匹配 :
,然后手动匹配里面的 x 个单词,通过字符串比较来查找
\s
。I think your best shot is to match :
and then match the inside x words by hand, looking for
\s
with string comparison.