假设我需要在 javascript 中使用字符串匹配来获得等同于 LIKE 运算符的结果。
WHERE "str1" LIKE '%str2%';
下面的匹配表达式有效。
var str1="abcd/pqrst";
var str2 = "pqr";
if(str1.match(/^.*pqr.*/)){ //do something};
但是我需要传递一个变量而不是 pqr,类似于下面的语句。请帮忙。
//Wrong
var re = new RegExp("/^.*"+ str2 + ".*/");
if(str1.match(re){ //do something}
最佳答案
这是一个快速的 jsFiddle 供您尝试
http://jsfiddle.net/jaschahal/kStTc/
var re = new RegExp("^.*"+str2+".*","gi");
// second param take flags
这里有更多的细节
http://www.w3schools.com/jsref/jsref_obj_regexp.asp
您还可以使用 contains()/indexOf() 函数进行这些简单检查
关于javascript - 在 javascript 的正则表达式中传递变量以进行字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12889846/