这处理从也包含连字符的字符串中提取带符号数字的一般问题。
有人可以为以下内容提出正则表达式吗:
"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/