MySQL REGEX 不能正常工作

标签 mysql regex

SELECT 'pharase' REGEXP '[^a-zA-Z]+' - 它验证短语不包含英文字符(或不包含?)。

为什么查询 SELECT '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 不同)。

关于MySQL REGEX 不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40615177/

相关文章:

java - 如何按空格拆分字符串但转义引号内的空格(在 java 中)?

Python 正则表达式 : find zip from html content

php - 正则表达式将一组词列入黑名单

mysql - 与 Oracle 的分析表查询等效的替代查询

php - 在 PHP 中获取 Contact Form 7 表单 ID

python - 检查字符串是否不是反序列化的 json 或 python 中的列表

正则表达式排除数字的两个字符内的数字

php - MySQL JOIN 关联列在数组中具有多个行值

MySQL 每列的最小值和最大值

MYSQL 多列不同查询