当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL REGEXP_INSTR()用法及代码示例


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

用法

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

REGEXP_INSTR(expression, patterns, optional parameters);

参数说明

REGEXP_INSTR() 函数参数的解释是:

expression:它是一个字符串,我们将通过正则表达式参数和函数对其进行搜索。

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

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

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

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

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

match_type:使用以下可能的字符进行匹配的字符串。

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

让我们通过各种例子来理解它。

示例

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

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

请参阅以下输出:

MySQL regexp_instr Function

在该语句中,我们通过修改带有可选参数position 和occurrence 的查询,将模式字符串'BCA' 的出现定位到第二次。

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

请参阅以下输出:

MySQL regexp_instr Function

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

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

请参阅以下输出:

MySQL regexp_instr Function



相关用法


注:本文由纯净天空筛选整理自 MySQL REGEXP_INSTR() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。