如何使用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正则表达式提取字符串中的最后一个单词?的主要内容,如果未能解决你的问题,请参考以下文章