我想在最后一次出现字符“ - ”后提取所有数字,例如311-1974-8应该返回8而311-1974-348应该返回348
编辑:
从评论中补充说明:
实际上它是一个外部工具,它提供了自己的内部功能主义者,除了使用正则表达式提取它之外别无选择。没有JS可以应用:(
答案 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]+$/
。它适用于您提供的两个输入。