【发布时间】:2015-01-22 23:08:00
【问题描述】:
我的 MySQL REGEXP SELECT 查询有一个奇怪的问题,我正在尝试选择包含非字母数字字符的行。我尝试了多种方法,它会匹配西里尔字符,但它不认为撇号和空格是非字母数字的。以下是我尝试过的查询:
SELECT * FROM `table` WHERE `name` REGEXP '^[^[:alnum:]]+$' LIMIT 0,10;
SELECT * FROM `table` WHERE `name` REGEXP '^[^a-z0-9]+$' LIMIT 0,10;
它们现在都没有返回任何内容,因为我已经替换了所有的西里尔字符,除了空格和撇号。我觉得我一定是做错了什么,因为 MySQL 将空格和撇号视为字母数字似乎太不合逻辑了。
【问题讨论】: