當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。