标签: mysql regex unicode rlike
基本上,我想要的是理解为什么
select 'aa' regexp '[h]'返回0和
select 'aa' regexp '[h]'
select 'აა' regexp '[ჰ]'会返回1吗?
select 'აა' regexp '[ჰ]'
检查FIDDLE
答案 0 :(得分:1)
我认为MqSQL正则表达式还不支持utf-8。请参阅bug 30241和12.5.2 Regular Expressions。
警告 REGEXP和RLIKE运算符以字节方式工作,因此它们不是多字节安全的,并且可能会产生多字节字符集的意外结果。此外,这些运算符通过字节值比较字符,即使给定的排序规则将重音字符视为相等,重音字符也可能无法比较。
警告
REGEXP和RLIKE运算符以字节方式工作,因此它们不是多字节安全的,并且可能会产生多字节字符集的意外结果。此外,这些运算符通过字节值比较字符,即使给定的排序规则将重音字符视为相等,重音字符也可能无法比较。
您可以匹配没有字符类的字节序列:SELECT 'აა' REGEXP 'ჰ'返回0。
SELECT 'აა' REGEXP 'ჰ'
0