Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式匹配“item”,后跟两位数字_Javascript_Regex - Fatal编程技术网

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

Javascript 正则表达式匹配“item”,后跟两位数字,javascript,regex,Javascript,Regex,我需要一个正则表达式来拆分字符串,比如itemXY,其中X和Y是要在javascript中使用的整数item23 我希望它返回整数x和y。如果您只需要最后的数字,那么: \d+$ 我来做这项工作\d+表示一个或多个数字,$表示结尾。然后您可以使用结果字符串[0]和结果字符串[1],当然您应该检查长度: var txt = "item25"; var result = txt.match(/\d+$/); if (result != null) { var digits = re

我需要一个正则表达式来拆分字符串,比如itemXY,其中X和Y是要在javascript中使用的整数item23


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

如果您只需要最后的数字,那么:

\d+$
我来做这项工作\d+表示一个或多个数字,$表示结尾。然后您可以使用结果字符串[0]和结果字符串[1],当然您应该检查长度:

var txt = "item25";
var result = txt.match(/\d+$/);
if (result != null)
    {
    var digits = result[0];
    alert(digits[0]);
    alert(digits[1]);
    }
您还可以使用正则表达式组,如:

(\d)(\d)$

如果您只需要最后一位数字,则:

\d+$
我来做这项工作\d+表示一个或多个数字,$表示结尾。然后您可以使用结果字符串[0]和结果字符串[1],当然您应该检查长度:

var txt = "item25";
var result = txt.match(/\d+$/);
if (result != null)
    {
    var digits = result[0];
    alert(digits[0]);
    alert(digits[1]);
    }
您还可以使用正则表达式组,如:

(\d)(\d)$

你想把23提取成一个变量吗

给你:

/^item([0-9]+)$/

将从返回该数字的itemXXXXXX中提取任何数字。

是否尝试将23提取到变量中

给你:

/^item([0-9]+)$/

将从返回该数字的itemXXXXXX中提取任何数字。

假设您总是有两位数字,请使用以下命令:

var item = "item24";
var result = item.match(/(\d)(\d)$/);
var digit1 = result[1];
var digit2 = result[2];

假设您总是有两个数字,请使用:

var item = "item24";
var result = item.match(/(\d)(\d)$/);
var digit1 = result[1];
var digit2 = result[2];

您不需要为这个问题打扰正则表达式解析器。如果字符串的第一部分到数字的长度始终相同,则可以使用或:

这将比正则表达式更快、更简单。如果需要分隔数字,可以将其拆分:

var arr = str.slice(4).split();
//-> ["2", "3"]

您不需要为这个问题打扰正则表达式解析器。如果字符串的第一部分到数字的长度始终相同,则可以使用或:

这将比正则表达式更快、更简单。如果需要分隔数字,可以将其拆分:

var arr = str.slice(4).split();
//-> ["2", "3"]

是的,我将把数字提取到一个变量,然后连接到另一个字符串是的,我将把数字提取到一个变量,然后连接到另一个字符串感谢我不知道这个方法。我会在某个时候试一试…:@Shouvik:根据我的经验,如果有更合适的方法,最好避免使用正则表达式。我已更新我的答案,以包含一个与您接受的答案相同的结果的解决方案。假设文本长度始终为4个字符。@Bennor:或者如果结尾的数字长度始终为您的答案所假设的2位数字,您可以使用-2而不是4。同意。事实上,我对这个答案投了更高的票,因为我认为最好使用合适的工具来完成这项工作。谢谢,我不知道这个方法。我会在某个时候试一试…:@Shouvik:根据我的经验,如果有更合适的方法,最好避免使用正则表达式。我已更新我的答案,以包含一个与您接受的答案相同的结果的解决方案。假设文本长度始终为4个字符。@Bennor:或者如果结尾的数字长度始终为您的答案所假设的2位数字,您可以使用-2而不是4。同意。事实上,我对这个答案投了赞成票,因为我认为最好使用合适的工具来完成这项工作。