gpt4 book ai didi

javascript - 在 JavaScript 正则表达式中放置变量

转载 作者:行者123 更新时间:2023-11-30 12:20:03 24 4
gpt4 key购买 nike

我有一个像这样的正则表达式:

var reg = /http:\/\/s(\d+)\.de\.example\.com\/(.*?)\.php(.*)/i;

我想要一个变量,就是这样:ccode[i][2] 代替 .de

我该怎么做?感谢您的帮助。

最佳答案

如果您想在正则表达式模式中使用变量,则需要使用正则表达式构造函数符号,并且在其中,您需要双重转义特殊正则表达式元字符。即

var reg = new RegExp("http://s(\\d+)\\." + ccode[i][2] + "\\.example\\.com/(.*?)\\.php(.*)", "i");

来自 MDN :

Use the constructor function when you know the regular expression pattern will be changing, or you don't know the pattern and are getting it from another source, such as user input.

示例代码:

var ccode = "de";
var reg = new RegExp("http://s(\\d+)\\." + ccode + "\\.example\\.com/(.*?)\\.php(.*)", "i");

alert(reg.test("http://s123.de.example.com/something.php?some=params"));

关于javascript - 在 JavaScript 正则表达式中放置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31413994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com