MYSQL 中如何使用 REGEXP 匹配中文问题???

2015-01-11 13:51:02 +08:00
 thinkmore
倒腾了几天,看文档,搜google,都没有找到答案,实在是没法了,求各位助我一臂之力!
V2EX不好上图,就把问题发到了csdn,望大家看看,给我个提示!不胜感激。

http://bbs.csdn.net/topics/390969138?
5071 次点击
所在节点    问与答
7 条回复
thinkmore
2015-01-11 14:36:59 +08:00
自己给自己顶一下吧!
lululau
2015-01-11 14:43:19 +08:00
MySQL 不支持 {m,} 这个用法
lululau
2015-01-11 14:45:10 +08:00
而且你的正则写得也有问题
lululau
2015-01-11 14:46:49 +08:00
好像 {m,} 是可以的,改成 '(删除){2,}' 试试
thinkmore
2015-01-11 17:10:26 +08:00
@lululau mysql,改成你说的那种不起作用,我以为它的语法是Java中的那种语法,结果竟然把逗号也当成比较的内容了,所以我换成了

select * from test3 where operate REGEXP '(删除,){2}'
面前达到效果了
thinkmore
2015-01-12 15:51:59 +08:00
唉,看来这个正则要把我弄哭了,我换到Java端来也搞不定,悲催
undercloud
2017-09-01 03:18:31 +08:00
好吧,搜到这儿 贡献一下刚找到的答案 [stackoverflow]( https://stackoverflow.com/questions/14356248/does-mysql-regexp-support-unicode-matching)
MySql 的 REGEXP 不支持多字节匹配,也就是说,中文编码是不行了
要用只能用 LIKE 或者数据量不大的情况下从数据库中取出来 用程序作为 workaround

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/161094

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX