SELECT 'pharase' REGEXP '[^a-zA-Z]+'
- 它会验证该短语是否包含英语字符(或不包含?)。
为什么查询SELECT '123g' REGEXP '[^a-zA-Z]+' -> 1
显示1而不是0?
答案 0 :(得分:2)
要检查字符串是否仅包含英文字符,请使用
SELECT 'pharase' REGEXP '^[a-zA-Z]+$'
其中:
^
- 断言字符串开头的位置[a-zA-Z]+
- 一个或多个ASCII字母$
- 字符串 SELECT '123g' REGEXP '[^a-zA-Z]+' -> 1
显示1
,因为该字符串包含123
,非字母,与REGEXP
匹配的部分匹配(与需要完整的LIKE
不同)字符串匹配)。