次の式:
targetString = targetString.replace(parenthesizedRegEx, "$3$1$11");
ここで、parenthesizedRegEx は括弧で囲まれた有効な正規表現であり、一致したテキストを、3 番目の項目、最初の項目、最初の項目、およびリテラル "1" を連結した文字列に置き換えます。「2 桁」の括弧項目インデックス「$11」を無視して、「$1」と文字どおりの「1」として扱っているかのようです。
使用すべきエスケープやその他の分離はありますか?
この結果は、FF および IE9 で発生します。
ご協力いただきありがとうございます。答えが恥ずかしいほど簡単であることを願っています!!
更新の編集:
問題を包括的に示すために jfiddle を実行しました。私が使用している正規表現には、否定先読みアサーションが含まれています。アサーションにすべての開き括弧を含めると、失敗するようです。挿入の開いた括弧をまったく含めないと、失敗します。しかし、アサーションの最初の開始括弧以外をすべて含めると、機能します。(?:...) で形成されたグループには番号が付いていません。しかし、カウントを正しく行うには、アサーション内に他のすべての開いた括弧を含める必要があるようです。したがって、jfiddle で、$11 は機能しないが、$10 は機能することがわかります。
これを見てくれてありがとう。