内の文字を置き換えるために、私は2つのテストの文字列を持っています。正規表現の引用符
私はこれを試してみました:
(".*):(.*")
はに置き換え:
$1Q$2
が、私はこれで終わる:
1+"Q"+2:xyz
1+"Q"+2:xyz
が、私はこれで終わるしたい:
1+"Q"+2:xyz
1+"aQfb"+2:xyz
誰かが私を助けてください。 Javascriptで動作する必要があります。
編集:私は正常に動作するもの(つまりブラウザで直接JavaScriptでそれをやって)に私のテストツールを切り替えた
。
これが機能するようになりました:
var str = '1+"a:fb"+2:xyz';
var res = str.replace(/(".*):(.*")/g, "$1Q$2");
しかし、私は2がある場合:引用符の二組では、そのよう:
1+"a:fb"+2+"Q":xyz
あなたの正規表現では、これらすべてのバックスラッシュは何ですか?ブードゥーは逃げ出しません。エスケープされなければならないものと、それらのものだけをエスケープします。 – Tomalak
私はいつも引用符をエスケープしました - 私はそうする必要はありません - それを今変更しました – Graham
あなたのアプローチは期待どおりに機能しませんか? https://regex101.com/r/sogO6I/1 – Danilo