编码范围
1. GBK (GB2312/GB18030)
x00-xff GBK双字节编码范围
x20-x7f ASCII
xa1-xff 中文
x80-xff 中文
2. UTF-8 (Unicode)
u4e00-u9fa5 (中文)
x3130-x318F (韩文)
xAC00-xD7A3 (韩文)
u0800-u4e00 (日文)
ps: 韩文是大于[u9fa5]的字符
正则例子(使用PHP):
preg_replace(“/([x80-xff])/”,”",$str); //GBK中匹配
preg_replace(“/([u4e00-u9fa5])/”,”",$str); //UTF8中匹配
另外一些:
有时候我们也会用到全角英文、特殊符号等
全角英文的UTF8是: uff21 – uff5a ,是从大写A开始到小写的z。
utf8中的 uff20是@
utf8中的 uff01到 uff09是我们美式键盘上shift + 从1到9键上的特殊符号。要注意的是因为@是 uff20,所以 uff02是双引号,同时6的……是两个符号的组合,所以也不存在,正题提前一位(也就是说ff06是&, ff09是))。
utf8中的全角数字是 uff10 – uff19 ,对应关系自然是0 – 9 。
UTF-8 中文编码范围
主流的匹配字符有两种 [\u4e00-\u9fa5]和[\u2E80-\u9FFF],后者范围更广,包括了日韩地区的汉字
import re
pattern = re.compile("[\u2E80-\u9FFF]+")
result = pattern.findall('<a target="_blank" href="http://m.weibo.com/web/cellphone.php#iphone" suda-uatrack="" key=''index_new_menu&value=sina_apps_list_click">新浪微博</a>')
print(result)
['新浪微博']
该博客探讨了字符编码如GBK和UTF-8在处理中文字符时的不同,以及如何使用正则表达式进行匹配。文中提到了全角英文、特殊符号在UTF-8编码下的范围,并通过PHP的preg_replace函数展示了匹配示例。此外,还提及了UTF-8中文编码范围的两种匹配方式,并给出了一段Python代码实例,用于从字符串中提取中文字符。
8044





