我有一个像这样的正则表达式:
var reg = /http:\/\/s(\d+)\.de\.example\.com\/(.*?)\.php(.*)/i;
我想要一个变量,正是这个:ccode[i][2]
代替.de
。
我该怎么做?谢谢你的帮助。
答案 0 :(得分:3)
如果要在正则表达式模式中使用变量,则需要使用RegExp构造函数表示法,并且在其中,您需要双重转义特殊的正则表达式元字符。即。
icon: icons[markers[i][2]]
来自MDN:
当您知道正则表达式模式将发生变化时,或者您不知道该模式并从其他来源(例如用户输入)获取该模式时,请使用构造函数。
示例代码:
var reg = new RegExp("http://s(\\d+)\\." + ccode[i][2] + "\\.example\\.com/(.*?)\\.php(.*)", "i");
答案 1 :(得分:0)
试试这个
var reg = '/http:\/\/s(\d+)\\'+ccode[i][2]+'\.example\.com\/(.*?)\.php(.*)/i';