mysql 正则 匹配 中文
最近需要查询历史记录里的合法的注册名,但注册名中会含有中文。
怎么整? google大婶帮不上了,度娘也没什么查到的 。
于是我用 mysql里的HEX 把字段转为 2进制, 然后正则匹配 对应中文的code码。
我们的字段存储的是utf8,所以查询了[最近需要查询历史记录里的合法的注册名,但注册名中会含有中文。
怎么整? google大婶帮不上了,度娘也没什么查到的 。
于是我用 mysql里的HEX 把字段转为 2进制, 然后正则匹配 对应中文的code码。
我们的字段存储的是utf8,所以查询了](http://wenku.baidu.com/view/f4c225340b4c2e3f572763da.html) (如果你的是gbk系的就查对应的编码对照就可以了)
还有 数字(3[0-9]) 字母(4[0-9A-F] | 5[0-9A] | 6[0-9A-F] | 7[0-9A])对应的code |
正则可以写为:
HEX(name) REGEXP '[[:<:]](e[4-9][0-9a-f]{4}|3[0-9]|4[0-9A-F]|5[0-9A]|6[0-9A-F]|7[0-9A]|5F)+[[:>:]]'
e[4-9][0-9a-f]{4} 对应的就是汉字了。
[[:<:]] 和 [[:>:]] 是 mysql正则的起止符。