我需要一个正则表达式来分割像itemXY这样的字符串,其中X和Y是整数(item23),以便在javascript中使用。
我希望它返回整数x和y。
答案 0 :(得分:3)
假设您总是有两位数,请使用:
var item = "item24";
var result = item.match(/(\d)(\d)$/);
var digit1 = result[1];
var digit2 = result[2];
答案 1 :(得分:3)
您不需要为此问题打扰正则表达式解析器。如果字符串的第一部分长度始终相同,则可以使用slice()或substring():
var str = "item23";
alert(str.slice(4));
//-> 23
这比正则表达式更快,更简单。如果您需要将数字分开,可以将它们拆分:
var arr = str.slice(4).split();
//-> ["2", "3"]
答案 2 :(得分:1)
如果你需要的只是最后一位数字,那么:
\d+$
将完成这项工作。 \d+
表示1位或更多位数,$
表示“结束”。然后你可以使用result_string[0]
和result_string[1]
(当然你应该检查长度):
var txt = "item25";
var result = txt.match(/\d+$/);
if (result != null)
{
var digits = result[0];
alert(digits[0]);
alert(digits[1]);
}
您还可以使用以下正则表达式组:
(\d)(\d)$
答案 3 :(得分:1)
你试图将“23”提取到一个变量吗?
你在这里:
/^item([0-9]+)$/
将从itemXXXXXX中提取返回该号码的任何数字。