1

RegExを使用して、2つのドル記号の間のすべての文字列を選択しようとしています。

text = text.replace(/\$.*\$/g, "meow");

2つのドル記号の間のすべてのテキストを「ニャー」(プレースホルダー)に変換しようとしています。

編集: ソリューションがローカライズされすぎたため、元の質問が変更されましたが、受け入れられた回答は有用な情報です。

4

2 に答える 2

4

これはあなたが望むものにかなり近いですが、文字列に複数のペアがある場合は失敗$text$します。リピーターを怠惰にする.*と、それは修正されます。例えば、

text = text.replace(/\$.*?\$/g, "meow");
于 2012-05-11T18:06:05.040 に答える
3

1つの問題があります。次のような「テンプレート」が複数ある場合

aasdasdsadsdsa $ a $ dasdasdsd $ b $ asdasdasdsa

正規表現では、「$ a $ dasdasdsd $b$」を2つのドル信号間のテキストと見なします。次のようなあまり具体的でない正規表現を使用できます

/ \ $ [^ $] * \ $ / g

この例で2つの文字列を検討する

于 2012-05-11T18:12:14.030 に答える