正则表达式用于提取上次出现特殊字符后的所有数字
Regex to extract all digits after last occurrence of a special character
我想提取最后一次出现字符"-"后的所有数字,因此例如 311-1974-8 应该返回 8 和 311-1974-348 应该返回 348
编辑:
从评论中添加了澄清:
实际上,它是一个外部工具,它提供了自己的内置函数主义者,我别无选择,只能使用正则表达式来提取它。不能:(应用 JS
这将捕获最后一个数字。
var str = '311-1974-348';
var matches = str.match(/-('d+)$/);
var match = matches ? matches[1] : null;
console.log("matched? " + match);
尝试在/[^-]+$/
上匹配,例如:
var s = '311-1974-348';
s.match(/[^-]+$/); // => ["348"]
您在评论中提到它是用于外部工具的,因此...
-([0-9]+)$
不知道您的工具如何处理捕获的组或任何内容......
为什么不简单地拆分?
var str = input.split('-').pop();
试试这个/[0-9]+$/
。 它适用于您提供的两个输入。
相关文章:
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- 限制用户仅输入特殊字符和数字
- 按字母顺序、数字顺序和特殊字符对字符串数组进行排序
- JavaScript-Regex删除代码/特殊字符/数字等
- 为数字输入添加特殊字符
- 如何使用 JavaScript 删除字符串中除数字和空格之外的所有特殊字符
- 角度.js - 将带有特殊字符和数字的字符串转换为数组并使用 ng-repeat 显示
- 密码正则表达式:“至少 1 个字母、1 个数字、1 个特殊字符,并且不应以特殊字符开头”
- 密码的正则表达式必须包含至少八个字符,至少一个数字以及小写和大写字母以及特殊字符
- 正则表达式密码必须包含字母,至少一个特殊字符和至少一个数字
- 验证输入是否仅包含特殊字符而不包含任何数字
- 正则表达式避免使用特殊字符,并且不应以数字开头
- 正则表达式只允许字母数字和特殊字符不起作用
- 只允许数字和特殊字符,不允许使用字母
- JavaScript正则表达式允许至少一个特殊字符和一个数字
- 正则表达式严格检查字母数字和特殊字符
- 限制用户输入特殊字符和数字
- 在检查字符串是否至少有5位数字时,没有字母或特殊字符会产生意外结果
- 正则表达式,包括除*和&之外的所有字母、数字和特殊字符;