2015-06-19 139 views

回答

4

您可以使用以下方法:

SELECT * FROM mytable WHERE REGEXP_LIKE (myname, '^[^a-zA-Z0-9\/\\()-]+$'); 

你也可以做一个i修饰符相同:

SELECT * FROM mytable WHERE REGEXP_LIKE (myname, '^[^a-z0-9\/\\()-]+$', 'i'); 

说明:

  • ^开始的字符串
  • [^___ ]负字符集(这将匹配比里面指定的字符以外的任何字符)
  • +比赛前一组不止一次串
+0

你能帮助我理解语法的

  • $结束了吗?我总是与RegEx斗争。我明白了^表示字符串不是这些字符之一。但是为什么在方括号内还有第二个^?方括号后面的+ $是多少? –

  • +0

    @Marcus'^'表示字符串的开头..并且'[^]'表示没有这些字符之一..并且没有'+'它将只匹配一个字符..检查更新:) –

    +0

    Doesn' t似乎工作。没有用这个数据返回这个记录:'''''''''''''''''' –