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


MySQL REGEXP_LIKE方法用法及代碼示例


如果輸入字符串與正則表達式 pat 匹配,MySQL 的 REGEXP_LIKE(~) 方法將返回 1。如果沒有匹配則返回 0。

參數

1. expr | string

要檢查是否與正則表達式模式匹配的字符串。

2. pat | regular expression

用於匹配的正則表達式模式。

3. match_type | string | optional

指定如何執行匹配。可以指定多個匹配類型,但是,如果提供的匹配類型之間存在矛盾,則右側的匹配類型優先。

match_type

意義

c

區分大小寫的匹配

i

不區分大小寫的匹配

m

Multiple-line模式。識別字符串中的行終止符。默認行為是僅在字符串表達式的開頭和結尾匹配行終止符。

n

. 字符匹配行終止符。 . 匹配默認停在行尾。

u

Unix-only 行結尾。僅換行符被識別為以 .^$ 匹配運算符結尾的行。

例子

考慮下表有關一些學生的信息:

student_id

名稱

名字

day_enrolled

年齡

用戶名

1

Sky

Towner

2015-12-03

17

stowner1

2

Ben

Davis

2016-04-20

19

bdavis2

3

Travis

Apple

2018-08-14

18

tapple3

4

Arthur

David

2016-04-01

16

adavid4

5

Benjamin

Town

2014-01-01

17

btown5

可以使用此處的代碼創建上述示例表。

返回值

返回值取決於以下情況:

案子

返回值

輸入字符串與正則表達式模式匹配

1

輸入字符串與正則表達式模式不匹配

0

基本用法

檢查學生姓氏是否與正則表達式模式 '[ae]' 匹配:

SELECT lname, REGEXP_LIKE(lname,'[ae]')
FROM students;



+--------+---------------------------+
| lname  | REGEXP_LIKE(lname,'[ae]') |
+--------+---------------------------+
| Towner |                         1 |
| Davis  |                         1 |
| Apple  |                         1 |
| David  |                         1 |
| Town   |                         0 |
+--------+---------------------------+

隻有 'Town' 返回 0,因為它不包含 'a''e'

匹配類型參數

要通過指定匹配類型 'c' 執行區分大小寫的匹配:

SELECT REGEXP_LIKE('ABC DEF GHI', '[a-z]+', 'c');



+-------------------------------------------+
| REGEXP_LIKE('ABC DEF GHI', '[a-z]+', 'c') |
+-------------------------------------------+
|                                         0 |
+-------------------------------------------+

大寫字符串 'ABC DEF GHI' 與正則表達式 '[a-z]+' 不匹配,因為匹配區分大小寫。

相關用法


注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | REGEXP_LIKE method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。