我说的是&
那些将渲染到的东西:&
它实际上应该渲染到&
. 在这篇文章中,我询问了如何匹配实体,但对于正则表达式来说,这似乎不太可能或不现实。那么匹配双重实体的最佳方法是什么?
编辑:这是一个好方法吗?.replace(/&(?=#?x?[0-9a-z]+);/i, '&');
(我正在使用 JavaScript)
我说的是&
那些将渲染到的东西:&
它实际上应该渲染到&
. 在这篇文章中,我询问了如何匹配实体,但对于正则表达式来说,这似乎不太可能或不现实。那么匹配双重实体的最佳方法是什么?
编辑:这是一个好方法吗?.replace(/&(?=#?x?[0-9a-z]+);/i, '&');
(我正在使用 JavaScript)
我会去
pattern &([a-zA-Z0-9]+?;)\1
replacement &$1
仅替换双放大器,或:
pattern &([#a-zA-Z0-9]+?;)
编辑:
你的模式
/&(?=#?x?[0-9a-z]+);/i
对我来说看起来也不错。
注意:这些都不是您可以信任的
可能:
&[a-zA-Z]+;
虽然不是万无一失。
首先标准化您的数据。使用您对编码的了解将它们解码回字符/数据片段只有一种可能编码的形式。之后,将此规范化数据与规范化模式匹配。