Php 比如';[!a-z]';不行
我创建了一个过滤器,并有一个“#”链接。 我想要所有的结果,除了字母。怎么做? 当我这样做时:Php 比如';[!a-z]';不行,php,mysql,Php,Mysql,我创建了一个过滤器,并有一个“#”链接。 我想要所有的结果,除了字母。怎么做? 当我这样做时: $as = "a"; // "a" link text ... LIKE '$a%' ... LIKE '[!a-z]%' // or ... NOT LIKE '[a-z]%' 返回以“a”开头的所有匹配项,但当我这样做时: $as = "a"; // "a" link text ... LIKE '$a%' ... LIKE '[!a-z]%' // or ... NOT LIKE '[a-
$as = "a"; // "a" link text
... LIKE '$a%'
... LIKE '[!a-z]%'
// or
... NOT LIKE '[a-z]%'
返回以“a”开头的所有匹配项,但当我这样做时:
$as = "a"; // "a" link text
... LIKE '$a%'
... LIKE '[!a-z]%'
// or
... NOT LIKE '[a-z]%'
它不起作用。
它应该返回不带首字母A到Z的结果,但不返回任何结果。我认为
与类似,不支持正则表达式,请改用
其中col_name REGEXP'[^a-z].*'
其中col_name NOT REGEXP'[a-z].'
在使用正则表达式时使用REGEXP
而不是LIKE
。已更新,代表我的打字错误。[!a-z]
是单个小写字母或感叹号。我认为这也不是你想要的正则表达式。我认为REGEXP'^A-Za-z]
是您想要的。这表示字符串的开头不是字母字符。谢谢,它工作得很好。您应该对这些查询进行解释。他们很可能不会使用会导致非常糟糕的表现的指数。相反,使用LIKE或notlike可以使用索引,只要您不使用像“%something%”这样的