MySQL REGEXP_LIKE 函数
MySQL 中的 REGEXP_LIKE() 函数用于模式匹配。它检查给定的字符串是否与正则表达式匹配。 如果字符串与正则表达式匹配,返回1;如果没有找到匹配项,返回0。
语法
下面是在 MySQL 中使用此函数的基本语法:
REGEXP_LIKE (expression, pattern [, match_type])
参数说明
REGEXP_LIKE()函数的参数解释如下:
expression: 这是一个输入字符串,我们在其中搜索匹配正则表达式。
pattern: 它表示我们要测试字符串的正则表达式。
match_type: 这是一个字符串,允许我们细化正则表达式。它使用以下可能的字符进行匹配。
- c: 它表示区分大小写匹配。
- i: 它表示不区分大小写匹配。
- m: 它表示多行模式,可以在字符串中识别行终止符。默认情况下,该函数将匹配字符串的行终止符。
- n: 它用于修改 .(点)字符以匹配行终止符。默认情况下,它将在一行的末尾停止。
- u: 它表示只识别换行符的Unix行尾,通过 .、^ 和 $ 匹配运算符。
让我们通过各种示例了解如何在MySQL中使用此函数。
示例
下述语句解释了MySQL中REGEXP_LIKE函数的基本示例。
mysql> SELECT REGEXP_LIKE ('England or America', 'l.nd') AS Result;
在这个例子中,正则表达式可以在点的位置上指定任意字符。因此,我们将在这里得到一个匹配。所以这个函数返回1表示匹配。
下面的语句是另一个例子,其中输入字符串与给定的正则表达式不匹配。
mysql> SELECT REGEXP_LIKE ('MCA', 'BCA') AS Result;
这是输出结果:
以下语句是另一个例子,指定的正则表达式搜索 字符串是否以给定字符结尾:
mysql> SELECT REGEXP_LIKE ('England Netherland Scotland', 'and$') AS Result;
这里是结果:
我们可以通过使用匹配类型参数来提供一个额外的参数来完善正则表达式。看下面的例子,我们指定了一个 大小写敏感 和 大小写不敏感 的匹配:
mysql> SELECT
REGEXP_LIKE ('India Indonesia', '^in', 'i') AS 'Case-Insensitive',
REGEXP_LIKE ('India Indonesia', '^in', 'c') AS 'Case-Sensitive';
这是结果: