Mysql/phpmyadmin 中的正则表达式

Regular expressions in Mysql/phpmyadmin

我对要使用 MySQL / phpMyAdmin 的正则表达式有疑问。是下一个:

^ [^ 0-9] $

因为return table 中没有任何包含数字的元组,但问题是return 是一个包含数字的元组。完整的声明是:

SELECT * FROM person WHERE name REGEXP "^ [^ 0-9] $";

所以我不知道是什么问题。因为我有两个具有真实姓名的元组和一个 "false" 元组,它是纯数字和 returns 那个带有数字的元组句子。

注意:"person" table 中的 "name" 列是 varchar。

您似乎在尝试 return 没有数字的列,对吗?

如果是我觉得

SELECT * FROM person WHERE name not REGEXP '[0-9]'

将是最简单的方法。

您的正则表达式目前正在查找具有前导白色space、非数字或白色space,然后以白色space结尾的列。

演示:http://sqlfiddle.com/#!9/6b047/2

SELECT * FROM person WHERE name REGEXP '^[^0-9]+$'

你很接近。See fiddle.