Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中使用数组中的正则表达式进行搜索_Javascript_Regex - Fatal编程技术网

如何在javascript中使用数组中的正则表达式进行搜索

如何在javascript中使用数组中的正则表达式进行搜索,javascript,regex,Javascript,Regex,我正在尝试实现搜索过滤器,我有一个数组: Var aa = ["Sage","Salsify (usually Purple Salsify or Oyster Plant)"]; var regex = RegExp("[a-zA-Z]?"); var wordList = vegetables.filter((elem, index)=>{ return regex.test(elem); }) 我认为这将只匹配字

我正在尝试实现搜索过滤器,我有一个数组:

Var aa = ["Sage","Salsify (usually Purple Salsify or Oyster Plant)"];

var regex = RegExp("[a-zA-Z]?");
var wordList = vegetables.filter((elem, index)=>{
    return regex.test(elem);
})
我认为这将只匹配字符,但是当用户键入Salsify时,如何获得完整字符串“Salsify(通常为紫色Salsify或牡蛎植物)”?

,如果您这样做:

aa.filter((e) => /.*Salsify.*/.test(e))

您将获得
aa
中出现字符串
Salsify
的每个元素。

对于简化过滤器,您可以使用:

var aa=[“鼠尾草”、“鲑鱼(通常是紫色鲑鱼或牡蛎植物)”;
var查询='salsify';
var wordList=aa.filter((elem,index)=>elem.toLowerCase().includes(query.toLowerCase());

console.log(wordList)输入字符串是什么?这里的键。。。如果查询来自用户输入,那么查询和数组中的值都必须规范化。。。所以使用String.toLowerCase()之类的东西是很关键的。。。否则,大小写不匹配将导致regex或.includes()不匹配。好call@DynasticSponge是的,这就是为什么我在
RegExp
中包含
I
标志,这意味着不区分大小写