我试图在句子中找到正则表达式匹配的模式..在下面的代码中result
包含一个字符串,我们正在检查其中是否存在单词apple
。
var patt = /apple/gi;
var newResult = patt.test(result);
我从一个用过的案例中找到了上面的代码..但是我想知道我是否有多个值并且我想在字符串结果中检查它,让我们说一个值为var arr=["apple", "orange"]
{{1将无法工作..在那种情况下可能是什么样的方式?
答案 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