MySQL REGEXP_LIKE()函数

MySQL 中的 REGEXP_LIKE() 函数用于模式匹配。它比较给定的字符串是否匹配正则表达式。如果字符串与正则表达式匹配,则返回 1,如果未找到匹配项,则返回 0。

一、MySQL REGEXP_LIKE()函数 语法

以下是在MySQL中使用此函数的基本语法

REGEXP_LIKE (expression, pattern [, match_type])  

参数说明

expression:这是一个输入字符串,我们在其上执行搜索以匹配正则表达式。

pattern:它代表我们正在测试字符串的正则表达式。

match_type:它是一个字符串,可以让我们细化正则表达式。它使用以下可能的字符来执行匹配。

  • c:表示区分大小写的匹配。
  • i:表示不区分大小写的匹配。
  • m:它表示一种多行模式,可以识别字符串中的行终止符。默认情况下,此函数匹配字符串开头和结尾的行终止符。
  • n:用于修改 . (点)字符以匹配行终止符。默认情况下,它将停在一行的末尾。
  • u:它表示仅通过 .、^ 和 $ 匹配运算符识别换行符的 Unix 行尾。

二、MySQL REGEXP_LIKE()函数 示例

以下语句解释了 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';  

结果如下:

热门文章

优秀文章