如何使用JavaScript正则表达式提取字符串中的最后一个单词?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用JavaScript正则表达式提取字符串中的最后一个单词?相关的知识,希望对你有一定的参考价值。

我需要的是最后一场比赛。在下面的单词test没有$标志或任何其他特殊字符:

测试字符串:

$this$ $is$ $a$ $test$ 

正则表达式:

\b(\w+)\b
答案

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

\b(\w+)$

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

\$(\w+)\$$

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

document.body.textContent = /\$(\w+)\$$/.exec(s)[1];
另一答案

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

如果你使用var result = input.match("\b(\w+)\b"),接下来将返回所有匹配的数组,你可以通过在结果上使用pop()或通过执行:result[result.length]来获得它

另一答案

你的正则表达式会找到一个单词,由于正则表达式从左到右操作,它会找到第一个单词。

\w+匹配尽可能多的连续字母数字字符,但它必须匹配至少1。 \b匹配非字母数字字符旁边的字母数字字符。在你的情况下,这匹配'$'字符。

你需要的是将你的正则表达式锚定到输入的末尾,由$字符在正则表达式中表示。

要支持在行尾,空格或句点之外可能不仅仅包含'$'字符的输入,您可以使用匹配尽可能多的非字母数字字符的\W+

\$(\w+)\W+$
另一答案

避免使用正则表达式 - 使用qazxsw poi和qazxsw poi结果。使用qazxsw poi删除特殊字符:

.split

.pop

以上是关于如何使用JavaScript正则表达式提取字符串中的最后一个单词?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 正则表达式 - 从单词旁边提取数字

Javascript正则表达式获取双引号内容

请问正则表达式如何过滤超链接和提取链接

如何使用正则表达式和外壳从字符串中提取值?

如何在 C# 中使用正则表达式从字符串中提取域名?

如何使用正则表达式从字符串中提取第 n 个 URL?