1、首先首先正則表達式的話使用REGEXP 關鍵字,後面可以接正則表達式,mysql並不能處理所有的正則表達式
正則表達式並不是所有的都能在mysql中使用。
2、. 在正則表達式中可以匹配任意一個字符,而且必須匹配一個字符。
3 、like和REGEXP的最大區別是, LIKE 匹配整個列。如果被匹配的文本在列值中出現, LIKE 將不會找到它,相應的行也不被返回(除非使用通配符) 而 REGEXP 在列值內進行匹配,如果被匹配的文本在列值中出現, REGEXP 將會找到它,相應的行將被返回。like的話,如果過%出現在匹配最開始,會非常耗時間,效率也會非常低。
4、[] 中間包括的字符只匹配一個字符, [01]表示匹配0或者1,[0-3]表示匹配0,1,2,3之中的任意字符。
5、匹配特殊字符的話,那麼就用\\+特殊字符來匹配。例如 \\.匹配 .。\\| 匹配|。
匹配 \ 爲了匹配反斜槓( \ )字符本身,需要使用 \\\ 。
\ 或 \\? 多數正則表達式實現使用單個反斜槓轉義特殊字符,
以便能使用這些字符本身。但MySQL要求兩個反斜槓(MySQL
自己解釋一個,正則表達式庫解釋另一個)。
6、\\ 也用來引用元字符(具有特殊含義的字符),如表9-1所列
元 字 符 | 說明 |
\\f | 換頁 |
\\n | 換行 |
\\r | 回車 |
\\t | 製表 |
\\v | 縱向製表 |
7、匹配字符類mysql有一些預定義的常量。
類 說 明
[:alnum:] 任意字母和數字(同[a-zA-Z0-9])
[:alpha:] 任意字符(同[a-zA-Z])
[:blank:] 空格和製表(同[\\t]
8、匹配多個實例
元 字 符 | 說明 |
* | 0個或多個匹配 |
+ | 1個或多個匹配(等於{1,}) |
? | 0個或1個匹配(等於{0,1}) |
{n} | 指定數目的匹配 |
{m} | 不少於指定數目的匹配 |
{n,m} | 匹配數目的範圍(m不超過255) |