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

R, stringr::str_extract_all: Get all occurences specified in regex list

真的很简单,但我可以让正则表达式的 'greediness' 像我想要的那样工作。假设您有:

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

这只给出第一个匹配项:

[1] "XXSXT"

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

[1] "SXTXX" "XXSXT" 

您需要使用 lookaheadperl=True 选项在 R 中进行匹配。

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

查看演示。

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