2011-11-13 82 views

回答

2

那是因为你的正则表达式:

/&[^;]+;/g 

是寻找:

&  an ampersand, followed by 
[^;]+ one or more characters that are not semicolons, followed by 
;  a semicolon 

所以 >都匹配的模式。第二个/后面的g表示进行全局替换 - 如果您将其关闭,则只会替换第一个匹配。

您需要:

.replace(/>/g, '-') 

这改变了>所有实例-而忽略了其他一切。

如果你特别想更换>只有当它是由非打破空间有几种方法可以做到这一点,这是最简单的可能是环绕:

.replace(/ > /g, ' - ') 
0
replace(/>/g, "-") 

你不用-代替>,则代替以&开头并以;结束的任何内容。

如果只有一处出现,则不需要g修饰符。