MySQL REXEXP没有';工作不好
MySQL REXEXP没有';工作不好,mysql,regex,Mysql,Regex,选择'pharase'REGEXP'[^a-zA-Z]+'-它验证短语是否不包含英文字符(或不包含?) 为什么查询选择'123g'REGEXP'[^a-zA-Z]+'->1显示1而不是0?要检查字符串是否只包含英文字符,请使用 SELECT 'pharase' REGEXP '^[a-zA-Z]+$' 其中: ^-在字符串开头声明位置 [a-zA-Z]+-1个或多个ASCII字母 $-字符串的结尾 SELECT'123g'REGEXP'[^a-zA-Z]+'->1显示1,因为字符串包含12
选择'pharase'REGEXP'[^a-zA-Z]+'
-它验证短语是否不包含英文字符(或不包含?)
为什么查询
选择'123g'REGEXP'[^a-zA-Z]+'->1
显示1而不是0?要检查字符串是否只包含英文字符,请使用
SELECT 'pharase' REGEXP '^[a-zA-Z]+$'
其中:
-在字符串开头声明位置^
-1个或多个ASCII字母[a-zA-Z]+
-字符串的结尾$
SELECT'123g'REGEXP'[^a-zA-Z]+'->1
显示1
,因为字符串包含123
,非字母,与REGEXP
部分匹配(不像LIKE
需要完全字符串匹配)。您可以使用非REGEXP'[a-zA-Z]“
获取不包含英文字母的条目。或者REGEXP'^[^A-Za-z]+$”
如果不使用not REGEXP
(not REGEXP[A-Za-z]
)?(术语)^
和$
将REGEXP“锚定”到开头和结尾,我在回答中指出,^
声明字符串开头的位置和$
字符串结尾的位置。好的,这是最重要的研究。