如何使用MySQL在字段上查找仅包含特殊字符的行?

时间:2016-03-07 18:08:49

标签: mysql regex

这是交易,我必须找到行,确定的字段只包含特殊字符,我一直在尝试使用正则表达式,但没有成功。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以使用

SELECT * FROM table WHERE col REGEXP '^[^[:alnum:][:space:]_]+$'

请参阅regex demo

正则表达式模式分解:

  • ^ - 字符串开头
  • [^ - 匹配此类中定义的任何字符以外的negated character class的开头
    • [:alnum:] - 字母和数字
    • [:space:] - 空白
    • _ - 下划线
  • ] - 否定字符类的结尾
  • + - 否定字符类匹配的字符必须为1次或多次出现
  • $ - 字符串结尾