我使用这个正则表达式
str = "asd34rgr888gfd98";
var p = str.match(/\d{2}/);
alert(p[0]);
但是我不明白如何使用变量作为量词,就是这样写的:
var number = 2;
var p = str.match(/\d{number}/);
PS我看到这个页面JavaScript regex pattern concatenate with variable 但不理解如何使用这些帖子中的示例,就我而言。
我使用这个正则表达式
str = "asd34rgr888gfd98";
var p = str.match(/\d{2}/);
alert(p[0]);
但是我不明白如何使用变量作为量词,就是这样写的:
var number = 2;
var p = str.match(/\d{number}/);
PS我看到这个页面JavaScript regex pattern concatenate with variable 但不理解如何使用这些帖子中的示例,就我而言。
您需要将正则表达式构建为字符串并将其传递给RegExp
构造函数:
var regexString = '\\d{' + number + '}';
var regex = new RegExp(regexString);
var p = str.match(regex);
请注意,当通过字符串构建正则表达式时,您需要添加一些额外的转义字符来转义字符串以及正则表达式。
var number = "2"
var p = new RegExp("\\d{" + number + "}");
这应该有效:
var str = "asd34rgr888gfd98";
number = 3;
p = str.match(new RegExp('\\d{' + number + '}'));
alert(p[0]);