Javascript Regexp搜索和替换

时间:2011-07-19 17:18:24

标签: javascript regex

如何使用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" />';

4 个答案:

答案 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");