javascript - 从字符串中提取嵌入数字 - JavaScript Regex

标签 javascript regex

这处理从也包含连字符的字符串中提取带符号数字的一般问题。

有人可以为以下内容提出正则表达式吗:

 "item205"             => 205  
 "item-25              => -25  
 "item-name-25"        => -25  

基本上,我们想要提取数字到字符串的末尾,包括符号,同时忽略其他地方的连字符。

以下适用于前两个,但对最后一个返回“-name-25”:

var sampleString = "item-name-25";
sampleString.replace(/^(\d*)[^\-^0-9]*/, "")

谢谢!

最佳答案

您可以使用 .match 代替:

"item-12-34".match(/-?\d+$/);  // ["-34"]

正则表达式表示“可能是连字符,然后是一位或多位数字,然后是字符串结尾”。

关于javascript - 从字符串中提取嵌入数字 - JavaScript Regex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768129/

相关文章:

javascript - 浏览器同步Ajax请求 "lock"

javascript - 2 个数组之间的映射位置

javascript - 正则表达式在特定位置添加空格

R 正则表达式用于匹配列/向量中逗号分隔的部分

regex - 仅替换括号 (R) 内的某些字符

javascript - jQuery 自动完成 : filter by first letter

javascript - Material-UI NativeSelect 预选选项不起作用

javascript - 尝试使用 Javascript/Jquery 解析 XML 文件时出现错误

javascript - JSONRequest.get 无响应

java - 拆分以大写开头的任何单词和末尾的每个数字