MySQL REGEXP_INSTR 函数

MySQL REGEXP_INSTR 函数

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

语法

使用这个函数的基本语法如下: 在 MySQL 中使用该函数:

REGEXP_INSTR(expression, patterns, optional parameters);

参数解释

REGEXP_INSTR() 函数参数的解释如下:

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

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

REGEXP_INSTR() 函数使用以下各种可选参数:

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

出现次数: 它用于指定要查找的匹配的出现次数。如果我们不指定此参数,默认为1。

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

匹配类型: 它是一个字符串,使用以下可能的字符进行匹配。

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

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

示例

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

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

查看下面的输出:

MySQL REGEXP_INSTR 函数

在这个语句中,我们 通过修改带有可选参数位置和出现次数的查询定位模式字符串’BCA’的第二次出现

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

看下面的输出:

MySQL REGEXP_INSTR 函数

在这个语句中,我们使用了 return_option 参数。当我们想要获取一些以某种标识符为前缀的信息时,这个参数是非常有用的。

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

查看下方输出:

MySQL REGEXP_INSTR 函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程