我正在使用str_match
包中的stringr
来捕获括号内的文字。
library(stringr)
strs = c("P5P (abcde) + P5P (fghij)", "Glcext (abcdef)")
str_match(strs, "\\(([a-z]+)\\)")
仅向我提供了匹配"abcde"
和"abcdef"
。如何在仍然对两个字符串使用相同的正则表达式的情况下捕获"fghij"
?
答案 0 :(得分:4)
str_extract_all(strs, "\\(([a-z]+)\\)")
或@ JoshO'Brien在评论中提到,
str_match_all(strs, "\\(([a-z]+)\\)")
这可以通过基数R轻松完成:
regmatches(strs, gregexpr("\\(([a-z]+)\\)", strs))