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

matching values stored in variables or array with string javascript regex

本文关键字:变量 数组 存储 javascript 字符串 regex      更新时间:2023-09-26

我试图在正则表达式匹配的句子中找到一个模式。下面的代码中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);

如果你有一个变量,你可以这样做,如果(!)你的键当然是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;

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

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