javascript - 在 javascript 的正则表达式中传递变量以进行字符串匹配

标签 javascript regex string match

假设我需要在 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/

相关文章:

javascript - 如何获取包含特定文本的输入标签的数量?

javascript - 允许 textarea resize 缩小(不仅仅是增长)元素的原始/默认大小

javascript - 需要特定的正则表达式

c - memcpy 在这个程序中到底做了什么?

c - 删除字符串中所有出现的子字符串

javascript - 如何在 svg 中使用 svg?

javascript - jquery 中的 HTML 标记

python - 使用正则表达式读取和处理文件

python - 如何加速 CSS 文件中的正则表达式 findall

c++ - cout 一个返回的字符串