MySQL REGEXP_INSTR()函数

MySQL 中的 REGEXP_INSTR() 函数用于模式匹配。它是一个函数,通过匹配给定的字符串返回子字符串的索引值。如果未找到匹配项,则此函数返回 0。否则,返回 1。如果表达式或模式为 NULL,则返回 NULL。这里字符的索引从 1 开始。

一、MySQL REGEXP_INSTR()函数 语法

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

REGEXP_INSTR(expression, patterns, optional parameters);  

expression:它是一个字符串,我们将在其上执行正则表达式参数和函数的搜索。

patterns:表示要用于匹配的正则表达式字符。

REGEXP_INSTR() 函数使用下面给出的各种可选参数:

pos:用于指定表达式中搜索开始的位置。如果我们不指定此参数,则默认为 1。

occurrence:它用于指定我们要搜索的匹配项。如果我们不指定此参数,则默认为 1。

return_option:用于指定匹配的子字符串返回的位置类型。如果其值为 0,则表示该函数返回匹配的子字符串的第一个字符的位置。如果它的值为 1,它将返回匹配的子字符串后面的位置。如果我们不指定此参数,则默认为 1。

match_type:它是一个字符串,它使用以下可能的字符来执行匹配。

  • c:表示区分大小写的匹配。
  • i:表示不区分大小写的匹配。
  • m:它表示一种多行模式,允许在字符串中使用行终止符。默认情况下,此函数匹配字符串开头和结尾的行终止符。
  • n:用于修改 . (点)字符以匹配行终止符。
  • u:它表示仅 Unix 的行尾。

二、MySQL REGEXP_INSTR()函数 示例

此语句返回表达式中子字符串“ BCA ”的起始索引。如果我们执行该语句,它将返回 1,这是给定字符串的第一个索引。这是因为在这里,我们没有指定任何可选参数。

mysql> SELECT REGEXP_INSTR ('BCA MCA PGDCA BBA MBA BCA', 'BCA') AS start_index;  

请参阅以下输出:

在该语句中,我们通过使用可选参数位置和出现来修改查询,将模式字符串“BCA”的出现定位到第二 次。

mysql> SELECT REGEXP_INSTR ('BCA MCA PGDCA BBA MBA BCA', 'BCA', 1, 2, 0) AS BCA_index_2;  

请参阅以下输出:

在此语句中,我们使用了return_option参数。当我们想要获取以某种标识符开头的信息时,此参数很有用。

mysql> SELECT REGEXP_INSTR ('BCA MCA PGDCA BBA MBA BCA', 'BCA', 1, 1, 1) AS post_index;  

请参阅以下输出:

热门文章

优秀文章