[MySQL] 用Regex進行搜尋

來源:互聯網
上載者:User

標籤:print   正則表達   多個   大寫   空白   指定位置   十六   sel   多個執行個體   

Regex的作用就是匹配文本,講一個模式(Regex)與一個文本串進行比較。

 

基底字元匹配

SELECT 列名 FROM 表名 WHERE 列名 REGEXP 條件 ORDER BY 列名;

  形式與LIKE相同,只不過REGEXP後面跟的條件為Regex。

 

差別:

  LIKE匹配整個列。如果被匹配的文本在列值中出現,LIKE不會找到它,相應的行也不會被返回(除非使用萬用字元)。

  REGEXP在列值內進行匹配,如果被匹配的文本在列值中出現,REGEXP會找到它,相應的行將被返回。

 

  Regex不區分大小寫,如果需要區分則要使用BINARY關鍵字。如 REGEXP BINARY + Regex條件。

 

進行OR匹配

  使用Regex符號‘|’將條件並列。

  例如 1000 OR 2000 = 1000|2000 

 

匹配幾個字元之一

  使用[]來定義一組字元

  例如 [123]abc = 1abc 或 2abc 或 3abc

  [123]abc = [1|2|3]abc

 

匹配除指定字元外的任何東西

  [^123] 匹配除1\2\3以外的任何東西

 

匹配範圍

  [0123456789] = [0-9]

 

匹配特殊字元

  ‘.‘匹配任一字元

  \\- 表示尋找-

  \\. 表示尋找.

  \\\ 表示尋找\

  

匹配字元類

  類              說明

 [:alnum:]           任意字母和數字[a-zA-Z0-9]

 [:alpha:]            任一字元[a-zA-Z]

 [:blank:]            空格和製表[\\t]

 [:cntrl:]              ASCII控制字元(ASCII 0到31和127)

 [:digit:]            任一數字[0-9]

 [:graph:]            與[:print:]相同,但不包含空格

 [:lower:]             任意小寫字母[a-z]

 [:print:]            任意可列印字元

 [:punct:]             既不在[:alnum:]又不在[:cntrl:]中的任一字元

 [:space:]            包含空格在內的任意空白字元[\\f\\n\\r\\t\\v]

 [:upper:]            任意大寫字母[A-Z]

 [:xdigit:]             任意十六進位數字[a-fA-F0-9]

 

匹配多個執行個體

  重複元字元

  元字元                說明

   *               0個或多個匹配

   +                 1個或多個匹配{1,}

   ?                 0個或1個匹配{0, 1}

   {n}               指定數目的匹配

   {n,}                                                  不少於指定數目的匹配

   {n, m}             匹配數目的範圍(m不超過255)

 

定位器

  匹配指定位置的文本

  定位元字元

  元字元                  說明

   ^                  文本的開始

   $                    文本的結尾

   [[:<:]]                 詞的開始

   [[:>:]]                 詞的結尾  

 

  ^有兩種用法,在集合中(用[和]定義),用它來否定該集合,否則,用來指串的開始處

  

[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.