使用字符串javascript regex匹配存储在变量或数组中的值

时间:2013-03-08 09:49:22

标签: javascript jquery regex

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

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

我从一个用过的案例中找到了上面的代码..但是我想知道我是否有多个值并且我想在字符串结果中检查它,让我们说一个值为var arr=["apple", "orange"] {{1将无法工作..在那种情况下可能是什么样的方式?

2 个答案:

答案 0 :(得分:2)

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

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

如果您有变量,可以执行以下操作, IF (!)您的密钥当然是正确的regexp(也就是说,它不包含在regexp语法中有意义的字符) :

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

虽然在这种情况下,您也可以使用indexOf:

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

答案 1 :(得分:0)

要为正则表达式使用字符串,需要使用正则表达式构造函数创建正则表达式。

var pattern = "apple|orange";
var regex = new RegExp(pattern, "g");    // g is for global match

在此处详细了解:https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions