JavaScript中不区分大小写的正则表达式
我想使用JavaScript从我的URL中提取一个查询字符串,并对查询字符串名称进行不区分大小写的比较。以下是我正在做的: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,但没用。知道如何实现吗?第二个参数是
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"