# **REGEXP_LIKE()**

## **函数说明**

`REGEXP_LIKE()` 用于判断指定的字符串是否与提供的正则表达式模式匹配。如果字符串符合模式，函数返回 `TRUE`，否则返回 `FALSE`。它的工作方式类似于 `REGEXP` 操作符，但是它可以接受第三个可选参数 `match_type`，用于定义匹配的行为。

REGEXP 和 RLIKE 是 `REGEXP_LIKE()` 的同义词。

## **语法**

```text
> REGEXP_LIKE(expr, pat[, match_type])
```

## 参数释义

- `expr` 是要搜索的字符串。

- `pat` 是要在字符串中查找的正则表达式。

- `match_type` 参数是一个可选的字符串，用于指定匹配的方式。这个参数可以由以下字符构成，每个字符指定一种匹配方式，字符的顺序不影响结果：

    + `'c'`：区分大小写进行匹配（即，大写和小写字母被视为不同的字符）。默认情况下，匹配区分大小写。
    + `'i'`：不区分大小写进行匹配（即，大写和小写字母被视为相同的字符）。
    + `'n'`：允许 `.` 符号匹配换行符。默认情况下，`.` 符号不会匹配换行符。
    + `'m'`：将字符串视为多行。即，`^` 匹配字符串的开头或任何行的开头，`$` 匹配字符串的结尾或任何行的结尾。默认情况下，`^` 只匹配字符串的开头，`$` 只匹配字符串的结尾。
    + `'u'`：将模式视为 UTF-8 字符串。默认情况下，模式视为字节字符串。

## **示例**

```text
mysql> SELECT REGEXP_LIKE('CamelCase', 'CAMELCASE');
+-----------------------------------+
| regexp_like(CamelCase, CAMELCASE) |
+-----------------------------------+
| false                             |
+-----------------------------------+
1 row in set (0.01 sec)

mysql> SELECT REGEXP_LIKE('CamelCase', 'CAMELCASE', 'i');
+--------------------------------------+
| regexp_like(CamelCase, CAMELCASE, i) |
+--------------------------------------+
| true                                 |
+--------------------------------------+
1 row in set (0.01 sec)
```
