字符串中最后一个单词的Javascript正则表达式

ps0*_*604 6 javascript regex

我有以下正则表达式返回第一个匹配test,我需要的是最后一个匹配,在$没有test符号或任何其他特殊字符的单词下面的情况下,如何实现?

测试字符串:

$this$ $is$ $a$ $test$ 
Run Code Online (Sandbox Code Playgroud)

正则表达式:

\b(\w+)\b
Run Code Online (Sandbox Code Playgroud)

six*_*man 13

$代表字符串的结尾,所以...

\b(\w+)$
Run Code Online (Sandbox Code Playgroud)

但是,您的测试字符串似乎有美元符号分隔符,因此如果它们始终存在,那么您可以使用它而不是\b.

\$(\w+)\$$
Run Code Online (Sandbox Code Playgroud)

var s = "$this$ $is$ $a$ $test$";

document.body.textContent = /\$(\w+)\$$/.exec(s)[1];
Run Code Online (Sandbox Code Playgroud)

如果可能有尾随空格,则\s*在结束前添加.

\$(\w+)\$\s*$
Run Code Online (Sandbox Code Playgroud)

最后,如果最后可能有其他非单词的东西,那么请\W*改用.

\b(\w+)\W*$
Run Code Online (Sandbox Code Playgroud)