標籤:正則 運算式 mysql
Regex是為複雜搜尋指定模式的強大方式。
MySQL採用Henry Spencer的Regex實施,其目標是符合POSIX 1003.2。
匹配以弄個數字開頭的字串
SELECT * FROM `gms_customer` where mobile REGEXP ‘^[0-9]‘;
匹配包含-的字串,有點類似 like %-%
特殊字元一般使用 \\- \\. \\為前置,進行轉移的作用
select * from gms_customer where mobile REGEXP ‘\\-‘;
匹配以 數字 結尾的字串
select * from gms_customer where mobile REGEXP ‘[0-9]$‘;
匹配 無 或者 空 有點類似 name = ‘無‘ or name=‘‘
select * from gms_customer where name REGEXP ‘無|‘‘‘;
匹配包含2 或者 6 或者 3 的字串
select * from gms_customer where customer_id REGEXP ‘[263]‘;
匹配字元:
[:a;num:] 任意字母和數字(同 [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\\t\\r\\v])
[:upper:] 任意大小字母(同 [A-Z])
[:xdigit:] 任意十六進位數字(同 [a-fA-F0-9])
定位器:
^ 文本的開始
$ 文本的末尾
[[:<:]] 詞的開始
[[:>:]] 詞的結尾
Regex基礎知識可以參考: Regex30分鐘入門教程
http://deerchao.net/tutorials/regex/regex-1.htm
本文出自 “追夢” 部落格,請務必保留此出處http://dreameng.blog.51cto.com/1187899/1588101
mysql簡單的Regex查詢