管子周围有数以百万计的备忘单,它们以不同的理解水平枚举了不同版本和 HTML 规范指定的字符实体。我不想相信其中任何一个,所以我想我会把它扔在这里,看看是否有人发布更权威的答案。
因此,假设我想使用正则表达式来匹配任何和所有字符引用和实体。我会开始/&(?:#(?:x[0-9a-f]+|[0-9]+)|[a-z]{???,???});/i。但会发生什么???是?我可以想到两个字符长的实体,例如lt and gt,但是 HTML 的任何规范中是否存在单字母实体?同样,最长的实体是什么?最后,那些are除了直接键入之外,在 HTML 中表达文字字符的唯一三种语法不是吗?