我想构建一个REGEX来匹配包含一个单词的所有结果,该单词在变量中。
这是我的代码:
function search(buscar){
$(".main h2 a").each(function(index) {
var rege = /^+buscar+$/; //LINE THAT MUST BE CHANGED***
if(rege.test($(this).text())){
alert($(this).text());
}
});
}
最佳答案
var rege = new RegExp('^' + buscar + '$');
要么
var rege = new RegExp('^' + buscar.replace(/([.?*+^$[\]\\(){}-])/g, '$1') + '$');
如果有可能在
buscar
中传递正则表达式元字符,并且您不希望它们如此行事。当然,值得注意的是,如果
buscar
中没有正则表达式元字符或者我们将其转义,我们将构建一个正则表达式,该正则表达式执行与==
运算符完全相同的测试。顺便说一句,关于这一行没有jQuery。它是香草JavaScript。