博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【正则表达式】匹配中文字符 整理
阅读量:4045 次
发布时间:2019-05-24

本文共 2215 字,大约阅读时间需要 7 分钟。

转自:http://bbs.chinaunix.net/viewthread.php?tid=907172


最近项目中用到了对文字、标点以及特殊字符的判断。

网上关于GBK、GB2312和BIG5编码范围的资料比较多,但是日文的资料比较少,我总结了一下,希望能对大家在正则中判断

这些字符集尤其是日文字符集的各种字、标点以及特殊符号的时候有所帮助。记不住,转了,碰到时候需要正在判断时使用吧

如处理emoji表情符号

插入数据时,将数据编码

preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '@E' . base64_encode($r[0]);}, $msg);
获取数据时,将数据解码
preg_replace_callback('/@E(.{6}==)/', function($r) {return base64_decode($r[1]);}, $msg);


UTF8

CODE:

[/x01-/x7f]|[/xc0-/xdf][/x80-/xbf]|[/xe0-/xef][/x80-/xbf]{2}|[/xf0-/xff][/x80-/xbf]{3}


UTF16

CODE:

[/x00-/xd7][/xe0-/xff]|[/xd8-/xdf][/x00-/xff]{2}


JIS

CODE:

[/x20-/x7e]|[/x21-/x5f]|[/x21-/x7e]{2}


SJIS

CODE:

[/x20-/x7e]|[/xa1-/xdf]|([/x81-/x9f]|[/xe0-/xef])([/x40-/x7e]|[/x80-/xfc])


EUC_JP

CODE:

[/x20-/x7e]|/x81[/xa1-/xdf]|[/xa1-/xfe][/xa1-/xfe]|/x8f[/xa1-/xfe]{2}


EUC_JP标点符号及特殊字符

CODE:

[/xa1-/xa2][/xa0-/xfe]


EUC_JP全角数字

CODE:

/xa3[/xb0-/xb9]


EUC_JP全角大写英文

CODE:

/xa3[/xc1-/xda]


EUC_JP全角小写英文

CODE:

/xa3[/xe1-/xfa]


EUC_JP全角平假名

CODE:

/xa4[/xa1-/xf3]


EUC_JP全角片假名 2007-03-12 15:00更新

CODE:

/xa3[/xb0-/xb9]|/xa3[/xc1-/xda]|/xa5[/xa1-/xf6][/xa3][/xb0-/xfa]|[/xa1][/xbc-/xbe]|[/xa1][/xdd]


EUC_JP全角汉字        2007-03-12 15:06更新

CODE:

[/xb0-/xcf][/xa0-/xd3]|[/xd0-/xf4][/xa0-/xfe]|[/xB0-/xF3][/xA1-/xFE]|[/xF4][/xA1-/xA6]|[/xA4][/xA1-/xF3]|[/xA5][/xA1-/xF6]|[/xA1][/xBC-/xBE]


Big5

CODE:

[/x01-/x7f]|[/x81-/xfe]([/x40-/x7e]|[/xa1-/xfe])


GBK

CODE:

[/x01-/x7f]|[/x81-/xfe][/x40-/xfe]


GB2312汉字

CODE:

[/xb0-/xf7][/xa0-/xfe]


GB2312半角标点符号及特殊符号

CODE:

/xa1[/xa2-/xfe]


GB2312罗马数组及项目序号

CODE:

/xa2([/xa1-/xaa]|[/xb1-/xbf]|[/xc0-/xdf]|[/xe0-/xe2]|[/xe5-/xee]|[/xf1-/xfc])


GB2312全角标点及全角字母

CODE:

/xa3[/xa1-/xfe]


GB2312日文平假名

CODE:

/xa4[/xa1-/xf3]


GB2312日文片假名

CODE:

/xa5[/xa1-/xf6]


補充:

GB18030

CODE:

[/x00-/x7f]|[/x81-/xfe][/x40-/xfe]|[/x81-/xfe][/x30-/x39][/x81-/xfe][/x30-/x39]


2007-03-12 21:35 补充

日文半角空格

CODE:

/x20


SJIS全角空格

CODE:

(?:/x81/x81)


SJIS全角数字

CODE:

(?:/x82[/x4f-/x58])


SJIS全角大写英文

CODE:

(?:/x82[/x60-/x79])


SJIS全角小写英文

CODE:

(?:/x82[/x81-/x9a])


SJIS全角平假名

CODE:

(?:/x82[/x9f-/xf1])


SJIS全角平假名扩展

CODE:

(?:/x82[/x9f-/xf1]|/x81[/x4a/x4b/x54/x55])


SJIS全角片假名

CODE:

(?:/x83[/x40-/x96])


SJIS全角片假名扩展

CODE:

(?:/x83[/x40-/x96]|/x81[/x45/x5b/x52/x53])


EUC_JP全角空格

CODE:

(?:/xa1/xa1)


EUC半角片假名

CODE:

(?:/x8e[/xa6-/xdf])

转载地址:http://pzhdi.baihongyu.com/

你可能感兴趣的文章
Jenkins中shell-script执行报错sh: line 2: npm: command not found
查看>>
8.X版本的node打包时,gulp命令报错 require.extensions.hasownproperty
查看>>
Jenkins 启动命令
查看>>
Maven项目版本继承 – 我必须指定父版本?
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>
利用清华镜像站解决pip超时问题
查看>>
[leetcode BY python]1两数之和
查看>>
微信小程序开发全线记录
查看>>
PTA:一元多项式的加乘运算
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
机器学习实战之决策树(一)
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[leetCode By Python] 14. Longest Common Prefix
查看>>
[LeetCode By Python]118. Pascal's Triangle
查看>>
[LeetCode By Python]121. Best Time to Buy and Sell Stock
查看>>