控制字符包含了\n\t\r\f等,将他们统一替换为空字符串。这里面没有包含空格。将U+007F->DEL也包含在里面了。
control_chars = u"[\u0000-\u001F\u007f-\u009f]"
标点和数字 替换为空 引号、中划线、加号除外
other_chars = u"[\u0021-\u0026\u0028-\u002a\u002c\u002e-\u0040\u005b-\u005f\u007b-\u007e\u00a1-\u00bf\u00d7\u00f7]"
加号,不处理
addition_chars = u"+"
可能作为中划线的符号,替换为加号
middle_line_chars = u’[\u002d\u2010-\u2015\u2212]’
可能作为引号的符号,替换为加号
quotation_chars = u’[\u0027\u0060\u00b4\u2019\u2032]’
其他空白字符,包含空格,替换为+
space_chars = u"[\u0020\u00a0\u180e\u2000-\u200f\u2028-\u202f\u205f-\u206F\u3000\ufe0f\ufeff\ufffe]"
在过滤过程中总结出来的字符,如:™•○・
special_chars = u"[\u2122\u2022\u25cb\uff65]"
拉丁文字母说明 大写字母 小写字母 拉丁文补充 拉丁文补充 拉丁文补充 拉丁文扩展A+B和IPA
latin_chars = u"[\u0041-\u005a\u0061-\u007a\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u02af]"
以上字段中几乎包含了\u0000-\u02af所有,缺失的还不清楚
西里尔字母
cyrillic_letters = u’[\u0400-\u04FF\u0500-\u052F]’
亚美尼亚字母(不用过滤)
armenian_letters = u’[\u0530-\u058F]’
希腊字母(不用过滤)
greek_letters = u’[\u0370-\u03FF\u1F00-\u1FFF]’
阿拉伯字母(需要过滤)包含波斯字母、乌尔都字母
arabic_letters = u’[\u0600-\u06FF\u0750-\u077F]’
泰语(不用过滤)
thai_letters = u"[\u0E00-\u0E7F]"
天成文,用来书写印地语、梵语、尼泊尔语
devanagari_letters = u"[\u0900-\u097F]"
希伯来字母
hebrew_letters = u"[\u0590-\u05FF]"