regex - 提取字符串中倒数第二个单词

标签 regex r

我知道如何在 Python 中实现,但无法在 R 中实现

> string  <- "this is a sentence"
> pattern <- "\b([\w]+)[\s]+([\w]+)[\W]*?$"
Error: '\w' is an unrecognized escape in character string starting "\b([\w"
> match   <- regexec(pattern, string)
> words   <- regmatches(string, match)
> words
[[1]]
character(0)

最佳答案

sub('.*?(\\w+)\\W+\\w+\\W*?$', '\\1', string)
#[1] "a"

上面写着 - 不贪婪地寻找任何东西,直到你到达序列 - 一些单词字符 + 一些非单词字符 + 一些单词字符 + 可选的非单词字符 + 字符串结尾,然后提取该序列中的第一个单词字符集合

关于regex - 提取字符串中倒数第二个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18363688/

相关文章:

linq - LINQ风格的R中的数据处理

java - Ctrl-M 的正则表达式问题

mysql - 仅使用 INSERT 行过滤 pg_dump 并使用 awk 更改表名称

python - 拆分一个字符串并将子字符串保存到字典中。 Python

java - 为什么找到的 token (antlr)中出现空白?

python - 如何使用正则表达式做反向搜索?

r - RSelenium与Docker。 checkError(res)中的错误

r - 如何在 R 中绑定(bind)两个 xts 数据环境

r - 单个 tapply 或聚合语句中的多个函数

r - 使用 cut() 和 group_by()