在 MySQL 列中正确选择实际的非字母数字字符

sim*_*lar 8 regex mysql

我的 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;
Run Code Online (Sandbox Code Playgroud)

他们现在什么都不返回,因为我已经替换了所有的西里尔字符,除了空格和撇号。我觉得好像我做错了什么,因为 MySQL 将空格和撇号视为字母数字似乎太不合逻辑了。

And*_*302 11

你有没有尝试过:

SELECT * FROM table WHERE name REGEXP "[^a-z0-9]+" LIMIT 0,10;
Run Code Online (Sandbox Code Playgroud)