& で始まり & で終わる URL の単語を置き換えたいのですが、& は 1 つ残します。例:出力は、
Please help me using JSurl?&name=test&id=2
に置き換える必要があります&name=test
&newname=againtest i.e url?&newname=againtest&id=2
質問する
278 次
4 に答える
3
よりクリーンな方法は、で囲まれ&
ているパーツを交換することであり、を交換しない&
ことです。ルックアラウンドアサーションはここで役立ちます:
交換
(?<=&)name=test(?=&)
と
newname=againtest
これは、より堅牢にすることもできます。
(?<=[&?])name=test(?=&|$)
次の例でも一致します。
url?name=test
url?name=test&foo=bar
url?foo=bar&name=test
于 2012-06-28T13:34:30.667 に答える
0
次の正規表現を試してください。
^\w+\?(&\w+=\w+).*
説明:
^
行の開始
\w+
前の最初の言葉?
\?
逃れる ?正規表現で特別な意味を持つchar。文字通り必要ですか?ここにchar
(&\w+=\w+)
アンパサンド「&char」の後に置き換えるキーと値のペアのグループ
.*
後の任意の文字
あなたは私たちが持っているgoupをあなたが置き換えたい値で置き換えることができます。
于 2012-06-28T13:31:11.217 に答える
0
^([^&]*)(&[^&]+)(&.*)$
と交換する必要があります$1NEWSTRING$3
ここでテストを参照してください。
于 2012-06-28T13:29:11.837 に答える
0
var url = 'url?&name=test&id=2';
var regex = /(.*\?&)name=([^&]*)(&.*)/;
var replacementPattern = '$1newname=again$2$3';
var newUrl = url.replace(regex, replacementPattern);
console.log(newUrl);
上記の出力:
url?&newname=againtest&id=2
詳細については、 JavaScript の正規表現とString.replaceを参照してください。
于 2012-06-28T13:37:39.717 に答える