R,stringr :: str_extract_all:获取正则表达式列表中指定的所有出现

时间:2015-10-07 08:51:32

标签: regex r stringr

非常简单,但我可以得到“贪婪”。正则表达式的工作就像我想要的那样。说你有:

unlist(stringr::str_extract_all("XXXXSXTXXX","([A-Z]{2}[T|S][A-Z]{2})"))

这只给出第一场比赛:

[1] "XXSXT"

如何更改正则表达式行为以使我与S和T匹配(不使用两个单独的模式),例如:

[1] "SXTXX" "XXSXT" 

1 个答案:

答案 0 :(得分:1)

您需要lookahead使用perl=True选项,以便在R中进行匹配。

(?=([A-Z]{2}[TS][A-Z]{2}))

参见演示。

https://regex101.com/r/cJ6zQ3/23