问题是:
split=re.compile('\\W*')
这个正则表达式在处理常规单词时效果很好,但有时我需要表达式包含像 käyttäj&aml;auml; 这样的单词。
我应该向正则表达式添加什么以包含 & 和 ; 字符?
请您参考如下方法:
我会将实体视为一个单元(因为它们也可以包含数字字符代码),从而产生以下正则表达式:
(\w|&(#(x[0-9a-fA-F]+|[0-9]+)|[a-z]+);)+
这个匹配
- 要么是一个单词字符(包括“
_”),要么 - 一个 HTML 实体,包含
- 字符“
&”,- 字符“
#”,- 字符“
x”后跟至少一个十六进制数字,或者 - 至少一位小数,或
- 字符“
- 至少一个字母(=命名实体),
- 字符“
- 分号
- 字符“
- 至少一次。
/编辑:感谢 ΤZΩΤZΙΟΥ 指出错误。
