-2

我说的是&那些将渲染到的东西:&它实际上应该渲染到&. 在这篇文章中,我询问了如何匹配实体,但对于正则表达式来说,这似乎不太可能或不现实。那么匹配双重实体的最佳方法是什么?

编辑:这是一个好方法吗?.replace(/&(?=#?x?[0-9a-z]+);/i, '&');

(我正在使用 JavaScript)

4

3 回答 3

2

我会去

 pattern       &([a-zA-Z0-9]+?;)\1
 replacement   &$1

仅替换双放大器,或:

 pattern       &([#a-zA-Z0-9]+?;)

编辑:

你的模式

 /&(?=#?x?[0-9a-z]+);/i

对我来说看起来也不错。

注意:这些都不是您可以信任的

于 2012-09-24T14:53:41.020 回答
0

可能:

&[a-zA-Z]+;

虽然不是万无一失。

于 2012-09-24T14:44:35.107 回答
0

首先标准化您的数据。使用您对编码的了解将它们解码回字符/数据片段只有一种可能编码的形式。之后,将此规范化数据与规范化模式匹配。

于 2012-09-24T14:48:23.013 回答