正则表达式匹配“item”后跟两位数

时间:2010-09-22 08:22:17

标签: javascript regex

我需要一个正则表达式来分割像itemXY这样的字符串,其中X和Y是整数(item23),以便在javascript中使用。

我希望它返回整数x和y。

4 个答案:

答案 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中提取返回该号码的任何数字。