正则表达式在最后一次出现特殊字符后提取所有数字

时间:2013-02-01 18:46:51

标签: javascript regex

我想在最后一次出现字符“ - ”后提取所有数字,例如311-1974-8应该返回8而311-1974-348应该返回348

编辑:

从评论中补充说明:

实际上它是一个外部工具,它提供了自己的内部功能主义者,除了使用正则表达式提取它之外别无选择。没有JS可以应用:(

5 个答案:

答案 0 :(得分:3)

这会捕获最后一个数字。

var str = '311-1974-348';
var matches = str.match(/-(\d+)$/);
var match = matches ? matches[1] : null;
console.log("matched? " + match);

答案 1 :(得分:2)

尝试匹配/[^-]+$/,例如:

var s = '311-1974-348';
s.match(/[^-]+$/); // => ["348"]

答案 2 :(得分:1)

为什么不简单地拆分?

var str = input.split('-').pop();

答案 3 :(得分:1)

你在评论中提到它是一个外部工具,所以......

-([0-9]+)$

不知道你的工具如何处理捕获的组或任何东西......

答案 4 :(得分:0)

试试这个/[0-9]+$/。它适用于您提供的两个输入。