Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL REXEXP没有';工作不好_Mysql_Regex - Fatal编程技术网

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]+$'
其中:

  • ^
    -在字符串开头声明位置
  • [a-zA-Z]+
    -1个或多个ASCII字母
  • $
    -字符串的结尾

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“锚定”到开头和结尾,我在回答中指出,
^
声明字符串开头的位置和
$
字符串结尾的位置。好的,这是最重要的研究。