我正在尝试解析这样的长字符串:
asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&
产生以下输出:
asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&
基本上我只需要替换任何未编码为已编码字符串值的&符号:
& => &
我可以用字符串替换来做到这一点,但我会冒着这样的风险:
&
我正在尝试解析这样的长字符串:
asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&
产生以下输出:
asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&
基本上我只需要替换任何未编码为已编码字符串值的&符号:
& => &
我可以用字符串替换来做到这一点,但我会冒着这样的风险:
&
你可以写:
var result = orig.replace(/&(?!amp;)/g, '&');
其中(?!...)
符号表示零宽度负前瞻断言,意思是“这个位置后面没有...
.
或者,在您的情况下,您可以编写:
var result = orig.replace(/&(?:amp;)?/g, '&');
这将替换&
或&
。&
简单的方法(全局更改然后修复异常):
string.replace(/&/g,"&").replace(/&/g,"&");
或者:
string.replace(/&/g,"&").replace(/&/g,"&");