Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中不区分大小写的正则表达式_Javascript_Regex - Fatal编程技术网

JavaScript中不区分大小写的正则表达式

JavaScript中不区分大小写的正则表达式,javascript,regex,Javascript,Regex,我想使用JavaScript从我的URL中提取一个查询字符串,并对查询字符串名称进行不区分大小写的比较。以下是我正在做的: var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0; 但是上面的代码执行区分大小写的搜索。我试过//I,但没用。知道如何实现吗?第二个参数是

我想使用JavaScript从我的URL中提取一个查询字符串,并对查询字符串名称进行不区分大小写的比较。以下是我正在做的:

var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (!results) { return 0; }
return results[1] || 0;

但是上面的代码执行区分大小写的搜索。我试过
//I
,但没用。知道如何实现吗?

第二个参数是修饰符:

new RegExp('[\\?&]' + name + '=([^&#]*)', "i")

您可以添加表示“忽略大小写”的“i”修饰符

简单的一行。 在下面的示例中,它将每个元音替换为X

function replaceWithRegex(str, regex, replaceWith) {
  return str.replace(regex, replaceWith);
}

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"

另一个建议是:当您找到“不区分大小写的正则表达式”时,您通常可以通过操纵正在比较的字符串的大小写来完成相同的操作:

constfoo='HellO,WoRlD!';
const isFoo=‘你好,世界!’;
返回foo.toLowerCase()==isFoo.toLowerCase();

我也认为这更容易阅读,更容易理解作者的意图

这个文本格式/regex/i应该可以工作,除非你试图将它连接起来或其他什么……我能把它转换成一个字符串吗?@CardinalSystem
/abc/i
新的RegExp(“^”+string+“$”,“i”)
加上1让我微笑:技术上有五行,但谁算是好的一点呢。我应该少学编码,多学数学。
function replaceWithRegex(str, regex, replaceWith) {
  return str.replace(regex, replaceWith);
}

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"