如何用R语言stringr包提取含-se后缀的目标字符串
解决方法:提取带
-se的完整词项 你遇到的问题是因为你用的正则表达式"se$"只匹配字符串末尾的"se",而不是你想要的完整的[单词]-se结构。我们需要调整正则表达式来匹配整个目标词。
正确的代码实现
library(stringr) sentence <- "palavras a serem encontradas fazer-se encontrar-se, enganar-se" # 匹配由字母(含重音,适合葡萄牙语)组成的前缀 + -se 的结构 matches <- str_extract_all(sentence, "[a-zA-ZÀ-ÿ]+-se") matches
运行这段代码后,你会得到期望的输出:
[[1]] [1] "fazer-se" "encontrar-se" "enganar-se"
正则表达式解释
[a-zA-ZÀ-ÿ]+:匹配一个或多个字母(包含葡萄牙语常用的重音字母,比如À、á、è等,确保能覆盖更多场景)-se:精确匹配连字符加"se"的后缀
这个正则会自动忽略句子里的其他内容,只提取所有符合[单词]-se格式的完整词项,不管它们后面是空格、逗号还是字符串结尾。
内容的提问来源于stack exchange,提问作者Tamara Vaz
相关产品推荐
相关产品推荐

