【问题标题】:Regular expressions in Mysql/phpmyadminMysql/phpmyadmin 中的正则表达式
【发布时间】:2016-01-22 10:07:39
【问题描述】:

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

^ [^ 0-9] $

因为它不返回包含数字的表中的任何元组,但问题是返回一个包含数字的元组。完整的声明是:

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

所以我不知道是什么问题。因为我有两个具有真实姓名的元组和一个“假”元组,所以它是纯数字并返回带有数字的元组句子。

注意:“person”表中的“name”列是varchar。

【问题讨论】:

  • 尝试在右方括号后添加一个+,即[^0-9]+

标签: mysql regex phpmyadmin


【解决方案1】:

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

如果是这样,我认为

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

将是最简单的方法。

您的正则表达式当前查找具有前导空格、非数字或空格,然后以空格结尾的列。

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

【讨论】:

  • 谢谢!它为我服务。
【解决方案2】:
SELECT * FROM person WHERE name REGEXP '^[^0-9]+$'

你很亲密。See fiddle.

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 2012-01-06
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多