非常简单,但我可以得到“贪婪”。正则表达式的工作就像我想要的那样。说你有:
unlist(stringr::str_extract_all("XXXXSXTXXX","([A-Z]{2}[T|S][A-Z]{2})"))
这只给出第一场比赛:
[1] "XXSXT"
如何更改正则表达式行为以使我与S和T匹配(不使用两个单独的模式),例如:
[1] "SXTXX" "XXSXT"
答案 0 :(得分:1)
您需要lookahead
使用perl=True
选项,以便在R中进行匹配。
(?=([A-Z]{2}[TS][A-Z]{2}))
参见演示。