JavaScript-在字符串匹配中使用变量
我发现了几个类似的问题,但对我没有帮助。所以我有一个问题:JavaScript-在字符串匹配中使用变量,javascript,variables,match,Javascript,Variables,Match,我发现了几个类似的问题,但对我没有帮助。所以我有一个问题: var xxx = "victoria"; var yyy = "i"; alert(xxx.match(yyy/g).length); 我不知道如何在match命令中传递变量。请帮忙。谢谢。尽管match函数不接受字符串文本作为regex模式,但您可以使用RegExp对象的构造函数并将其传递给string.match函数: xxx.match(yyy, 'g').length var re = new RegExp(yyy, 'g
var xxx = "victoria";
var yyy = "i";
alert(xxx.match(yyy/g).length);
我不知道如何在match命令中传递变量。请帮忙。谢谢。尽管match函数不接受字符串文本作为regex模式,但您可以使用RegExp对象的构造函数并将其传递给string.match函数:
xxx.match(yyy, 'g').length
var re = new RegExp(yyy, 'g');
xxx.match(re);
您需要的任何标志(例如/g)都可以进入第二个参数 如果模式是字符串,则必须使用
var xxx = "victoria";
var yyy = "i";
var rgxp = new RegExp(yyy, "g");
alert(xxx.match(rgxp).length);
如果模式不是动态字符串:
var xxx = "victoria";
var yyy = /i/g;
alert(xxx.match(yyy).length);
对我来说,看到它被使用是有帮助的。 刚才使用“re”示例进行了此操作:
var分析物数据='样本-'+样本id;
var storage_keys=$.jStorage.index();
var re=新的正则表达式(分析物_数据,'g');
对于(i=0;i示例。查找字符串中的元音数
var word='Web Development Tutorial';
var vowels='[aeiou]';
var re = new RegExp(vowels, 'gi');
var arr = word.match(re);
document.write(arr.length);
例如:
let myString = "Hello World"
let myMatch = myString.match(/H.*/)
console.log(myMatch)
或
这只适用于Firefox,甚至没有文档记录。规范规定该方法只需要一个参数。使用@Chris建议的RegExp
构造函数是首选方法。+1,顺便说一句,如果传递给match
方法的参数不是RegExp
对象,则这是首选方法ally将使用该值调用RegExp
构造函数,因此您可以使用字符串模式,例如:“a123”.match(\\d+”[0]==“123”;
与.Search more;完全相同)还有一件事:如果您使用变量来构造RegExp,则应注意该变量可能包含RegExp特殊字符。e、 g.如果通过“c++”,正则表达式编译器将抱怨SyntaxError:Invalid regular expression:/c++/:Nothing to repeat
如果使用w3schools而不是MDN,您将得到一个假想的否决票!
let myString = "Hello World"
let myMatch = myString.match(/H.*/)
console.log(myMatch)
let myString = "Hello World"
let myVariable = "H"
let myReg = new RegExp(myVariable + ".*")
let myMatch = myString.match(myReg)
console.log(myMatch)