我想从字符串中提取一个单词,但不知道如何继续:
假设我有这些字符串:
a_toto_matthew
a_tutu_matthew
在这两种情况下,我都想提取matthew
我试过了
gsub("^a_[toto|tutu]_(.*)$", "\\1", "a_toto_matthew")
但是这不起作用。 我本可以这样做:
gsub("^a_.*_(.*)$", "\\1", "a_toto_matthew")
但我发现它不太优雅。我想知道在正则表达式中提及“toto”或“tutu”的语法
预先感谢您的指导,
马修
最佳答案
另一个选项可以是使用匹配 u 或 o 的捕获组和反向引用,并且对于单词使用 \w+
或匹配除下划线之外的任何单词字符。
^a_t([uo])t\1_([^\W_]+)$
在替换使用组2中
关于r - 如何使用正则表达式、单词和或条件从字符串中提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60206212/