0

我正在尝试查找和替换类名中的字符串。我正在使用一个函数,它返回一个类的“元数据”:

例如:

class="atestclass {action : '/myurl/param1/param2'}"

所以函数 metadata.action 会返回“/myurl/param1/param2”。

现在我需要用正则表达式以一种通用的方式更改这个值。

所以这是我的正则表达式,当然它不起作用:(

var regExp = new RegExp(opts.attribute + '\'.\'','igm');

“opts.attribute”在这种情况下是“动作”。现在我需要在“opts.attribute”之后找到引号的第一次出现,并将其替换为“opts.value”。

我不知道该怎么做,RegExp 是我个人的噩梦:-/

4

1 回答 1

0
var oldclass="atestclass {action : '/myurl/param1/param2'}";
var regExp = new RegExp("(\\{\\s*"+opts.attribute+"\\s*:\\s*').*?'", 'igm');
var newclass = oldclass.replace(regExp, "$1"+opts.value.replace('$', '$$')+"'");
于 2012-09-19T08:10:47.910 回答