一尘不染

MySQL Regexp是否支持Unicode匹配

mysql

有谁知道Mysql的regexp是否支持unicode?我一直在做一些研究,大多数博客等都表明存在问题或不支持。我想知道,最好将LIKE用于unicode模式匹配,将regexp用于ASCII增强模式匹配吗?

我喜欢能够在字符串开头或结尾搜索匹配项的想法,但是如果regexp不支持unicode,那么如果我的文本是unicode,则可能会很困难。


阅读 368

收藏
2020-05-17

共1个答案

一尘不染

  1. 有谁知道Mysql的regexp是否支持unicode?我一直在做一些研究,大多数博客等都表明存在问题或不支持。

正则表达式中所述

警告

REGEXPRLIKE在逐个字节的方式运营商合作,所以他们没有多字节安全和可能产生的多字节字符集意想不到的效果。此外,这些运算符按字节值比较字符,即使给定的归类将它们视为相等,重音字符也可能不相等。

  1. 我想知道,最好将LIKE用于unicode模式匹配,将regexp用于ASCII增强模式匹配吗?

是的,那是最好的。

  1. 我喜欢能够在字符串开头或结尾搜索匹配项的想法,但是如果regexp不支持unicode,那么如果我的文本是unicode,则可能会很困难。

一个人也可以做到这LIKE一点:

    WHERE foo LIKE 'bar%'

和:

    WHERE foo LIKE '%bar'
2020-05-17