我试图解析这样的长字符串:

asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&


产生以下输出:

asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&


基本上,我只需要替换未编码为字符串值的任何“&”号即可:

& => &


我可以用字符串替换来做到这一点,但是我会冒这样的风险:

&

最佳答案

你可以写:

var result = orig.replace(/&(?!amp;)/g, '&');


其中(?!...)表示zero-width negative lookahead assertion,表示“此位置后没有...

或者,您可以编写以下代码:

var result = orig.replace(/&(?:amp;)?/g, '&');


它将用&替换&&

09-20 20:59