'Extract 2nd to last word in string

I know how to do it in Python, but can't get it to work in 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)


Solution 1:[1]

Non-regex solution:

string  <- "this is a sentence"
split <- strsplit(string, " ")[[1]]
split[length(split)-1]

Solution 2:[2]

Python non regex version

    spl = t.split(" ")
    if len(spl) > 0:
        s = spl[len(spl)-2]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mengeln
Solution 2 QuentinJS