【原创】mysql 正则匹配中文&…
来源:互联网 发布:开淘宝店怎么代销不了 编辑:程序博客网 时间:2024/06/03 20:49
含中文: where nameregexp '[^ -~]'
'\xe9\xbe\xa5' e4b880-e9bea5--> e[4-9][0-9a-f]{4}
不含中文: where name notregexp '^[^ -~]'
后来说需要查询日文 参考资料得知:
utf-8 (unicode)
/u4e00-/u9fa5 (中文)
/x3130-/x318f (韩文)
/xac00-/xd7a3 (朝鲜文)
/u0800-/u4e00 (日文)
汉字正则: e[4-9][0-9a-f]{4}
含中文:where hex(name) regexp‘e[4-9][0-9a-f]{4}’
我表示很纳闷,这个正则如何而来的。
sql中执行:
select *,hex(name) fromtest;
'1', '我是中国人','E68891E698AFE4B8ADE59BBDE4BABA'
得知:我-E68891,是-E698A,中-E4B8AD,国-E59BBD,人-E4BABA
也不知道啥么东西,用chrome “FEweb前端助手"字符串编码转换后的知是utf8,我->我
接着就想到在python中获取他的utf8编码:
u'我'
u'\u6211'
'我'
'\xe6\x88\x91'
“我”在sql中对应的HEX16进制结果就是E68891,正好符合。
上文所提到的正则‘e[4-9][0-9a-f]{4}’也就有解了。
u'\u4e00'.encode('utf8')
'\xe4\xb8\x80'
u'\u9fa5'.encode('utf8')
诈一看,还真是这样,但是b880-bea5区间仅仅用0-f笼统该快太不规范了...不做处理了.
中文utf8编码区间:\u4e00-\u9fa5--> 日文utf8编码区间:\u0800-\u4e00 --> e4b880e9bea5
e[0-4][0-9a-b][0-8][0-8]0
e[0-4][0-9a-a][0-9a-f]{3}
e[0-4][0-9a-b][0-8][0-7][0-9a-f]
日文正则:e[0-4][0-9a-a][0-9a-f]{3}|e[0-4][0-9a-b][0-8][0-7][0-9a-f]|e[0-4][0-9a-b][0-8][0-8]0|e[0-4][0-9a-b][0-8][0-7][0-9a-f]
日文正则(简化):e[0-4][0-9a-a][0-9a-f]{3}|e[0-4][0-9a-b][0-8][0-7][0-9a-f]
韩文utf8编码区间:\xac00-\xd7a3 --> c2ac00c397a3
正则:
c[2-2][0-9]6[0-9a-f]{2}
c[2-2][0-9]6[0-9][0-9a-f]
c[2-2][0-9]6[0-9]a[0-3]
c[2-2]a[0-9a-b][0-9a-f]{2}
c[2-2][0-9a-a][0-9a-c]00
...
突然发现:韩文正则将会很多很复杂...
那干脆用十进制吧...
selectconv('c2ac00',16,10),conv('c397a3',16,10);
12758016, 12818339
貌似需要数值的还要用正则,太麻烦了,用到for循环还不如直接用十六进制between and
....
资料:《正则表达式 中文 日文等的验证(php)》《mysql 正则匹配中文》
0 0
- 【原创】mysql 正则匹配中文&…
- 【原创】Mysql Waring/Error&…
- 【原创】 linux mysql&n…
- 【原创】please install&nbsp…
- [原创]android resource&nbsp…
- 【原创】 linux Python&…
- 【原创】sudo: -User-&…
- 【原创】Python PyQuery&nbsp…
- 【原创】Linux-Ubuntu 12.04&…
- 【原创】Linux-Ubuntu 12.04&…
- 【原创】 MySQLdb.cursors&nb…
- 【原创】python requests&nbs…
- 【原创】windows mongodb&nbs…
- 【原创】python Reuqests&nbs…
- 【原创】centos python2.6.6&…
- 【原创】python requests&nbs…
- 【原创】Java HttpClient&nbs…
- [原创]android framelayout&n…
- 【原创】删除Android预装软件包,…
- 【原创】linux ubuntu12.04&n…
- 【原创】mysql while do…
- 适用小白:为什么要用Jupyter?以及,如何在Linux的Ubuntu 14.04LTS上安装和启动Jupyter Notebook
- 【原创】python 简繁体转换
- 【原创】mysql 正则匹配中文&…
- 【转载】Python 获取网卡设置…
- 【原创】linux使用终端命令执行pyt…
- 【原创】linux ubuntu12.04&n…
- 【原创】linux ubuntu12.04&n…
- 为什么JVM需要 "垃圾回收器" ?
- 【原创】 linux Python&…
- 【转载】 linux Python&…
- 【原创】Python 获取本机内网…