有谁知道Mysql的正则表达式是否支持unicode?我一直在做一些研究,大多数博客等似乎都表明存在问题或不受支持。我想知道是否最好使用 LIKE 进行 unicode 模式匹配,使用 regexp 进行 ASCII 增强模式匹配?
我喜欢能够在字符串的开头或结尾搜索匹配项的想法,但如果 regexp 不支持 unicode,那么如果我的文本是 unicode,这可能会很困难。
-
有谁知道Mysql的正则表达式是否支持unicode?我一直在做一些研究,大多数博客等似乎都表明存在问题或不受支持。
正如下面记录的常用表达 http://dev.mysql.com/doc/en/regexp.html:
Warning
The REGEXP http://dev.mysql.com/doc/en/regexp.html#operator_regexp and RLIKE http://dev.mysql.com/doc/en/regexp.html#operator_regexp运算符以字节方式工作,因此它们不是多字节安全的,并且可能会使用多字节字符集产生意外的结果。此外,这些运算符按字节值比较字符,即使给定的排序规则将重音字符视为相等,重音字符也可能不会被视为相等。
-
我想知道是否最好使用 LIKE 进行 unicode 模式匹配,使用 regexp 进行 ASCII 增强模式匹配?
是的,那是最好的。
-
我喜欢能够在字符串的开头或结尾搜索匹配项的想法,但如果 regexp 不支持 unicode,那么如果我的文本是 unicode,这可能会很困难。
可以用以下方法做到这一点LIKE
too:
WHERE foo LIKE 'bar%'
And:
WHERE foo LIKE '%bar'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)