我试图创建一个通用模型来查找单词中特定字符序列的出现,我能够找到特定输入的出现..但我想概括这个表达式..这里只计算“在”里面的话..我想概括正则表达式,以便它可以比较我提供的任何输入的出现,这可以在javascript中使用正则表达式来完成吗?
我将添加一个示例小提琴http://jsfiddle.net/2BAFG/
我试图创建一个通用模型来查找单词中特定字符序列的出现,我能够找到特定输入的出现..但我想概括这个表达式..这里只计算“在”里面的话..我想概括正则表达式,以便它可以比较我提供的任何输入的出现,这可以在javascript中使用正则表达式来完成吗?
我将添加一个示例小提琴http://jsfiddle.net/2BAFG/
尝试这个
var matches = function(m) {
var re = new RegExp(m, "i");
return data.filter(function(item) { return re.test(item) });
};
document.write(matches('in'));
小提琴示例:http: //jsfiddle.net/2BAFG/8/
现在要查找的子字符串作为函数的参数传递
new RegExp()
当然,您可以使用并使用它从任意字符串构造正则表达式。
所以而不是:
var matches = data.filter(function(item) { return /in/i.test(item) });
您可以使用:
var re = new RegExp("in", "i");
var matches = data.filter(function(item) { return re.test(item) });
哪里"in"
可以是您喜欢的任何正则表达式字符串,包括动态生成的字符串。
我相信是的,是的。
在你的小提琴中,你有
var matches = data.filter(function(item) { return /in/i.test(item) });
尝试将其更改为
var inputToMatch = "in";
var patt=new RegExp(inputToMatch,"i");
var matches = data.filter(function(item) { return patt.test(item) });