Javascript 正则表达式匹配“item”,后跟两位数字
我需要一个正则表达式来拆分字符串,比如itemXY,其中X和Y是要在javascript中使用的整数item23Javascript 正则表达式匹配“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
我希望它返回整数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。同意。事实上,我对这个答案投了赞成票,因为我认为最好使用合适的工具来完成这项工作。