这涉及从还包含连字符的字符串中提取有符号数字的一般问题。
有人可以想出以下的正则表达式:
"item205" => 205
"item-25 => -25
"item-name-25" => -25
基本上,我们希望将数字提取到字符串的末尾,包括符号,同时忽略其他地方的连字符。
以下适用于前两个,但返回“-name-25”作为最后一个:
var sampleString = "item-name-25";
sampleString.replace(/^(\d*)[^\-^0-9]*/, "")
谢谢!