如何使用javascript regexp进行不区分大小写的全局搜索,并使用以下模式替换字符串:
[media id="5"]
或[Media id=5]
并完全替换为:
http://someurl/?somevar=THE_ID_FROM_THE_PATTERN
所以基本上是这样的:
var mystring = '<img src="[media id=5]" />';
应转换为:
var newstring = '<img src="http://someurl/?somevar=5" />';
答案 0 :(得分:13)
您需要使用括号捕获数字,并在替换时将其添加回$ 1。此外,根据您的示例,它应该不区分大小写(// i),引号是可选的。
var mystring = '<img src="[media id=5]" />';
var re = /\[media id="?(\d+)"?\]/gi;
mystring.replace(re, "http://someurl/?somevar=$1");
答案 1 :(得分:1)
var regexp=/\[media id="5"\]/gi;
答案 2 :(得分:1)
您可以使用:
var mystring = '<img src="[media id=5]" />';
mystring.replace(/\[media id=5\]/gi, 'http://someurl/?somevar=5').toString();
和/或
var mystring = '<img src="[media id=\"5\"]" />';
mystring.replace(/\[media id=\"5\"\]/gi, 'http://someurl/?somevar=5').toString();
答案 3 :(得分:1)
我认为正确的方法是这样的:
var regexp = /\[[mM]edia\ id\=\"\d+\"\]/g;
var mystring = '<img src="[media id=5]" />';
var newstring = mystring.replace(regexp, "http://someurl/?somevar=$1");