MYSQL使用正則表達(dá)式過濾數(shù)據(jù)
一、正則與LIKE的區(qū)別
Mysql的正則表達(dá)式僅僅使SQL語言的一個子集,可以匹配基本的字符、字符串。
例如:select * from wp_posts where post_name REGEXP'hello',可以檢索出列post_name中所有包含hello的行
REGEXP'.og'
注意:
二、基本字符匹配
檢索列prod_name 包含文本1000的所有行:

進(jìn)行OR匹配
相當(dāng)于:或操作 “|”

匹配幾個字符之一
只想匹配特定的字符。 可以通過指定一組用[和]括起來的字符來完成。

[456]定義了一組字符,他的意思是匹配4或5或6. []是另一種形式的OR語句。[456]是[4|5|6]的縮寫。匹配范圍
[1-3] a-z都是合法的范圍

匹配特殊字符
正則表達(dá)式語言由特殊含義的特殊字符構(gòu)成。
. 在正則表達(dá)式中表示匹配任何一個字符
比如匹配prod_name中包括on字符串的行:

那如何匹配.,[],|,-?
為了匹配特殊字符,必須用\\為前導(dǎo)。 比如\\.表示查找·
匹配字符類

匹配多個實(shí)例


再比如 匹配連在一起的4位數(shù)字:
sticks? : s后的?使s可選,因?yàn)?code>?匹配它前面緊跟的任何字符的0次或者1次出現(xiàn)。

[:digit:]匹配任意數(shù)字,因而它為數(shù)字的一個集合。{4}確切地要求它前面的字符出現(xiàn)4次。
所以[:digit:]{4}匹配連在一起的任意4位數(shù)字。

三、定位符
目前為止所有例子都是匹配一個串中任意為止的文本。為了匹配特定為止的文本,需要使用定位符。


也可以在不使用數(shù)據(jù)庫的情況下測試正則表達(dá)式的正確性:
SELECT 來測試正則表達(dá)式,REGEXP檢查總是返回0或1,
SELECT 'HELLO‘ REGEXP '0‘//返回為0
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Mysql使用函數(shù)json_extract處理Json類型數(shù)據(jù)的方法實(shí)例
在日常業(yè)務(wù)開發(fā)中通常mysql數(shù)據(jù)庫中某個字段會需要存儲json格式字符串,下面這篇文章主要給大家介紹了關(guān)于Mysql使用函數(shù)json_extract處理Json類型數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-09-09
iOS開發(fā)runloop運(yùn)行循環(huán)機(jī)制學(xué)習(xí)
這篇文章主要為大家介紹了iOS開發(fā)runloop運(yùn)行循環(huán)的機(jī)制學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

