0

クラス名内の文字列を見つけて置き換えようとしています。クラスの「メタデータ」を返す関数を使用しています:

例えば:

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

したがって、関数 metadata.action は「/myurl/param1/param2」を返します。

ここで、一般的な方法で正規表現を使用してこの値を変更する必要があります。

これは私のRegExpであり、もちろん機能しません:(

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 に答える