mysql的Regex

來源:互聯網
上載者:User

標籤:

所謂正在運算式,就是通過模式去匹配一類字串。MySQL支援的模式字元如下表所示:

MySQL支援的模式字元
模式字元 含義
^ 匹配字串的開始部分
$ 匹配字串的結束部分
. 匹配字串中的任意一個字元
[字元集合] 匹配字元集合中的任意一個字元
[^字元集合] 匹配字元集合外的任意一個字元
str1|str2|str3 匹配str1,sr2和str3中的任意一個字串
* 匹配字元,包含0個和1個
+ 匹配字元,包含1個
字串{N} 字串出現n次
字串{m,n} 字串出現至少M次,最多N次

在模式比對的時候,如果相符則返回1,否則返回0。

1. 執行帶有"^"模式字元的SQL。

SELECT ‘cjgong‘ REGEXP ‘^c‘ 特定字元開頭,‘cjgongcjgong‘ REGEXP ‘^cjgong‘ 特定字串開頭;

執行SQL,結果如下所示:

2. 執行帶有"$"模式字元的SQL。

SELECT ‘cjgong‘ REGEXP ‘g$‘ 特定字元結尾,‘cjgongcjgong‘ REGEXP ‘cjgong$‘ 特定字串結尾;

執行SQL,結果如下所示:

3. 執行帶有"."模式字元的SQL。

SELECT ‘cjgong‘ REGEXP ‘^c....g$‘ 匹配4個任一字元

執行SQL,結果如下所示:

4. 執行帶有"[]"和"[^]"模式字元的SQL。

SELECT ‘cjgong‘ REGEXP ‘[abc]‘ 指定字串字元,‘cjgong‘ REGEXP ‘[a-zA-Z]‘ 指定字串中的集合區間,

‘cjgong‘ REGEXP ‘[^abc]‘ 指定字元外字元,‘cjgong‘ REGEXP ‘[^a-zA-Z0-9]‘ 指定字元外集合區間;

執行SQL,結果如下所示:

5. 執行帶有"*"和"+"模式字元的SQL。

SELECT ‘cjgong‘ REGEXP ‘a*g‘,‘cjgong‘ REGEXP ‘a+g‘;

通過模式字元"*"和"+"可以匹配字元g之前是否有多個字元a,不過前者表示0個或任意個字元,而後者至少表示一個字元,因此顯示結果分別為1和0。

執行SQL,結果如下所示:

6. 執行帶有"|"模式字元的SQL。

SELECT ‘cjgong‘ REGEXP ‘cjg‘ 指定單個字元,‘cjgong‘ REGEXP ‘cjc|cjgc‘ 指定多個字元;

執行SQL,結果如下所示:

7. 執行帶有"{M}"和{M,N}模式字元的SQL。

SELECT ‘cccjgong‘ REGEXP ‘c{3}‘ 匹配3個c,‘cccjgongg‘ REGEXP ‘g{2}‘ 匹配2個g,‘cgong‘ REGEXP ‘cj{1,2}‘ 至少1個最多2個,‘cjcjgong‘ REGEXP ‘cj{1,2}‘ 至少1個最多2個;

c{3}表示字串c連續出現3次,cj{1,2}表示字串cj至少出現一次最多串連出現3次。

執行SQL,結果如下所示:

Regex的功能非常強大,使用Regex可以靈活地設定字串匹配的條件。

mysql的Regex

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.