は、私が[X]
、"X"
、'X'
と_X_
で[A]
、"A"
、'A'
と_A_
のすべての出現箇所を交換する必要があります。私はthis answerを試しましたが、それは奇妙な結果(下のコード)を与えています。変数A
とX
を補間できるので、new RegExp
を使用しています。RegExpキャプチャグループの置き換え方は?文字列で
// CAPTURE GROUPS: |------1-----|2|-----3------|
var regexp = new RegExp('(\'|\"|\_|\[)(A)(\'|\"|\_|\])', 'g')
var string = ' [A] _A_ "A" \'A\' A BAB "B" '
string.replace(regex, '$1X$3')
// ORIGINAL: [A] _A_ "A" 'A' A BAB "B"
// EXPECTED: [X] _X_ "X" 'X' A BAB "B"
// ACTUAL: [X] XXX XXX XXX X BXB XBX
が**倍増する必要があります。
また、あなたのコードビットを簡素化するために文字クラスを使用することができます**。 – Pointy
pointy(\ * g \ *)を指摘するのを避けるには、コンストラクタの代わりにRegexのリテラル構文を使用してください。 – Christoph
**角括弧**が動作する前にバックスラッシュ**を2倍にします。 - しかし、他のものを倍にすると、レコードのためだけに構文エラーが発生します。 –