javascript - 将变量或数组中存储的值与字符串 javascript 正则表达式进行匹配

标签 javascript jquery regex

我试图在句子中找到正则表达式匹配的模式。在下面的代码中 result 包含一个字符串,我们正在检查单词 apple 是否存在于它。

    var patt = /apple/gi;
    var newResult = patt.test(result);

我从一个用例中找到了上面的代码..但是我想知道我是否有多个值并且我想在字符串结果中检查它,假设一个带有值的数组 var arr=["apple", "orange"] var patt=/arr[0]/gi 将不起作用..在这种情况下可能会怎样?

最佳答案

要检查多个条目,您可以使用 OR 运算符:

var patt = /apple|orange/gi;
var newResult = patt.test(result);

如果你有一个变量,你可以执行以下操作,IF(!)你的 key 当然是正则表达式安全的(也就是说,它不包含在正则表达式语法中有意义的字符) :

var key = "apple";
var patt = new RegExp(key, 'gi');
var newResult = patt.test(result);

虽然在这种情况下,你不妨使用indexOf:

var key = "apple";
var newResult = result.indexOf(key) > -1;

关于javascript - 将变量或数组中存储的值与字符串 javascript 正则表达式进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291048/

相关文章:

php - 大括号之间的 Preg 匹配 - preg_match

Jquery 改变元素顺序

jquery - Scroll 在 Phonegap 应用程序中无缘无故地显示自己

jquery - 如何使用 jQuery 在悬停时交换这些图标?

javascript - 如何像 Parse 那样声明回调?

javascript - 如何使用正则表达式 javascript 获取最后一次出现的情况?

regex - 与Scala中的正则表达式匹配

javascript - jquery:如何在单击-按住-释放操作后触发事件?

javascript - VueJS 路由中 "component: () => import()"的替代方案

javascript - 为什么我无法使用 sendMessage 将函数发送到内容脚本