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 |
+---------------------------------------+