0

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

编辑:

从评论中添加了说明:

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

4

5 回答 5

3

这将捕获最后一个数字。

var str = '311-1974-348';
var matches = str.match(/-(\d+)$/);
var match = matches ? matches[1] : null;
console.log("matched? " + match);
于 2013-02-01T18:52:34.110 回答
2

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

var s = '311-1974-348';
s.match(/[^-]+$/); // => ["348"]
于 2013-02-01T18:52:18.167 回答
1

为什么不简单地拆分?

var str = input.split('-').pop();
于 2013-02-01T18:47:33.407 回答
1

您在评论中提到它是用于外部工具的,所以...

-([0-9]+)$

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

于 2013-02-01T18:50:32.080 回答
0

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

于 2013-02-01T19:07:42.637 回答