MySQL REGEXP 运算符

17 Mar 2025 | 阅读 2 分钟

MySQL 中的 REGEXP 运算符用于模式匹配。它比较输入字符串中的给定模式,并返回与模式匹配的结果。如果此运算符找到匹配项,则结果为 1。否则,结果为 0。此运算符的工作方式与 REGEXP_LIKE() 函数相同。

语法

以下是在 MySQL 中使用此运算符的基本语法

在此语法中,expression 是我们将对其执行搜索以匹配正则表达式的输入字符串。而 pattern 代表我们正在测试字符串的正则表达式。此语法通常与 SELECT 语句一起使用。

通过示例,让我们了解此操作符在 MySQL 中是如何工作的。

示例

下面的语句是最基本的正则表达式,其中我们没有使用任何特殊字符。这意味着我们只使用了一个字符串,并比较输入字符串的任何部分是否与模式匹配,它就会返回一个匹配项。

这是结果:

MySQL Regexp Operator

假设我们有一个名为 employee 的表,其中包含以下数据。现在,我们将基于此表数据演示各种示例。

MySQL Regexp Operator

如果我们想搜索名字以 j 或 s 开头的员工,可以这样做:

执行该语句,我们将获得所需的结果。请参见下面的输出:

MySQL Regexp Operator

如果我们想获取名字正好有四个字符的员工,我们需要使用'^' 和 '$ 元字符。这些字符匹配员工名字的开头和结尾,并在中间重复 {4} 次任何字符 '.',如下面的语句所示:

执行该语句,我们将获得所需的结果。请参见下面的输出:

MySQL Regexp Operator

如果我们想获取职位名称包含 'er' 字符的员工详细信息,可以使用以下查询:

执行该语句,我们将获得所需的结果。请参见下面的输出:

MySQL Regexp Operator

如果我们想获取名字包含 p 或 s 字符的员工姓名和职位,可以使用以下查询:

执行该语句,我们将获得所需的结果。请参见下面的输出:

MySQL Regexp Operator