使用Rebus捕获多个字符串

时间:2019-01-18 01:59:40

标签: stringr

我有一些数据,其中某些字符之间有多个字符串。我想找到一个解决方案来捕获所有这些。我将rebus用于正则表达式。此处的数据示例:

library(tidyverse)

library(rebus)

a<- c("Organization:Us army :code", "Organization:Brazil :code", 
"Organization:Australian Army Faith :code")

我需要捕获两个“:”之间的所有内容。

这就是我在这里提供的解决方案,但是我正在寻找更通用的方法,尤其是当“:”之间的单词数量变化且很大时。

 pattern <- "Organization:" %R% capture(one_or_more(WRD) %R% 
                                     SPACE %R% one_or_more(WRD) %R%
                                     SPACE %R% one_or_more(WRD) %R%
                                     SPACE) %R% ":"

 str_match_all(a, pattern)

此解决方案仅捕获第三个字符串,该字符串与模式精确匹配。谢谢!

0 个答案:

没有答案