我确定这是重复的,但我找不到它。
到目前为止,我发现的最接近的是:
Extract info inside all parenthesis in R
我想从字符串中提取任何以[
开头的匹配,以]
结尾,并在这些括号之间加+
。我根据之前的答案整理的正则表达式有点太贪心了。
library(magrittr)
str <- "[a] , [a + b] + [b] , [b - q] , [d - e + f]"
gregexpr(pattern = "(?=\\[).*?[+].*?(?<=\\])",
text = str,
perl = TRUE) %>%
regmatches(x = str,
m = .)
返回
[[1]]
[1] "[a] , [a + b]" "[b] , [b - q] , [d - e + f]"
我想要的是
[[1]]
[1] "[a + b]" "[d - e + f]"
答案 0 :(得分:2)
怎么样:
\\[[^]+]+[+][^]]+\\]