数据库--用正则表达式进行搜索

一、基本字符匹配

     REGEXP后跟的东西作为正则表达式

     例:SELECT prod_name FROM products WHERE prod_name REGEXP '1000' ORDER BY prod_name;

     1、.是正则表达式语言中一个特殊的字符,它表示匹配任意一个字

     2、进行OR匹配:为搜索两个串之一,使用|

           例:REGEXP '1000|2000' --->表示匹配其中之一

       3、匹配几个字符之一

           例:REGEXP '[123] Ton' -->表示匹配1或2或3

       4、匹配范围

            例:[0123456789]--[0-9]

       5、匹配特殊字符:为了匹配特殊字符,必须 用\\为前导

             例:\\-表示查找-   \\.表示查找.

        6、匹配字符类

             [:alnum:]    任意字母和数字(同[a-zA-Z0-9])

             [:alpha:]     任意字符(同[a-zA-Z])

             [:blank:]    空格和制表(同[\\t])

             [:cntrl:]   ASCII控制字符

             [:digit:]  任意数字

             [:graph:]  与[:print:]相同,但不包括空格

             [:lower:]  任意小写字母

             [:print:]  任意可打印字符

             [:punct:]  既不在[:alnum:]又不在[:cntrl:]中的任意字符

             [:space:]  包括空格在内的任意空白字符

             [:upper:]   任意大写字符(同[A-Z])

             [:xdigit:]  任意十六进制数字(同[a-fA-F0-9])

        7、匹配多个实例

              *:0个或多个匹配

              +:1个或多个匹配

               ?:0个或1个匹配

               {n}:指定数目的匹配

               {n,}:不少于指定数目的匹配

               {n, m}:匹配数目的范围

               例:REGEXP '\\[0-9] sticks?\\'  -->[0-9]匹配任意数字,sticks?匹配stick和sticks(s后的?使s可选,因为?匹配它前面的任何字符的0次或1次出现)

         8、定位符

              ^  文本的开始

              $  文本的结尾

              [[:<:]]  词的开始

              [[:>:]]  词的结尾

              

 

 

 

 

你可能感兴趣的:(mysql数据库)