在一个字符串中,我需要将所有出现的
[A]
、"A"
、'A'
和 _A_
替换为 [X]
、"X"
、'X'
和 _X_
。我尝试过这个答案,但结果奇怪(代码如下)。我使用 new RegExp
是因为它允许插入一个变量 -- 这里 A
和 X
只是举例子。// 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