MySQL REGEXP_LIKE() 函数使用指南
MySQL REGEXP_LIKE() 函数检查一个字符串是否和一个正则表达式是否匹配。
REGEXP 和 RLIKE 操作符等同于 REGEXP_LIKE() 函数。
默认情况下, REGEXP_LIKE() 函数执行不区分大小写的匹配。
REGEXP_LIKE() 语法
这里是 MySQL REGEXP_LIKE() 的语法:
REGEXP_LIKE(str, regexp)
REGEXP_LIKE(str, regexp, mode)
参数
str- 必需的。一个字符串。
regexp- 必需的。正则表达式。
mode- 可选的。执行匹配采用的模式。
匹配模式可以使用下面值中的一个或多个:
c: 区分大小写i: 区分大小写m: 多行匹配模式n: 点.可以匹配行结束u: 仅限 unix 行结尾
如果匹配模式存在矛盾的选项,则以最右边的为准。
返回值
如果字符串 str 和正则表达式 regexp 匹配, REGEXP_LIKE() 返回 1,否则 REGEXP_LIKE() 返回 0。
如果 str 或者 regexp 为 NULL,REGEXP_LIKE() 将返回 NULL。
REGEXP_LIKE() 示例
这里列出了几个常见的 REGEXP_LIKE() 示例。
SELECT
REGEXP_LIKE('hello', '^[a-z]+$'),
REGEXP_LIKE('hello', '^[A-Z]+$'),
REGEXP_LIKE('12345', '[0-9]+$'),
REGEXP_LIKE('12345', '^\\d+$'),
REGEXP_LIKE('123ab', '^\\d*$'),
REGEXP_LIKE('123ab', '^.*$')\G
REGEXP_LIKE('hello', '^[a-z]+$'): 1
REGEXP_LIKE('hello', '^[A-Z]+$'): 1
REGEXP_LIKE('12345', '[0-9]+$'): 1
REGEXP_LIKE('12345', '^\\d+$'): 1
REGEXP_LIKE('123ab', '^\\d*$'): 0
REGEXP_LIKE('123ab', '^.*$'): 1区分大小写
您可以将匹配模式设置为 'c' 来启用匹配时区分大小写。
SELECT REGEXP_LIKE('hello', '^[A-Z]+$', 'c');
+---------------------------------------+
| REGEXP_LIKE('hello', '^[A-Z]+$', 'c') |
+---------------------------------------+
| 0 |
+---------------------------------------+