MySQL 正则表达式中的 Unicode 匹配
MySQL 的正则表达式采用字节方式,导致它们不适合 Unicode 匹配。大多数来源报告了此限制,引发了对其用于 Unicode 模式匹配的担忧。
在这种情况下,例如 Unicode 模式匹配,是否建议使用 LIKE 而不是正则表达式?对于 ASCII 增强模式匹配,正则表达式仍然是一个可行的选项。
LIKE 对于 Unicode 匹配的好处
LIKE支持 Unicode 字符,从而可以在 Unicode 文本中进行简单的模式匹配。此外,它还允许在字符串的开头或结尾进行匹配搜索。
WHERE foo LIKE 'bar%' -- Search for strings starting with "bar" WHERE foo LIKE '%bar' -- Search for strings ending with "bar"
Unicode 正则表达式的限制
由于其按字节实现,正则表达式对于多字节字符集可能会产生不准确的结果。此外,重音字符在比较时可能不相等,即使特定排序规则认为它们是相等的。
以上是在 MySQL 中应该使用 LIKE 而不是 REGEXP 进行 Unicode 匹配吗?的详细内容。更多信息请关注PHP中文网其他相关文章!