最近在《mysql必知必會》這本書中讀到在sql中使用正規表示式,以前是學過資料庫也學過正規表示式,但是不知道原來他們可以一起使用,這裡做下記錄。
首先是mysql使用正規表示式的語法:
select ... from ... where ... regexp '...'(這裡引號裡面寫正規表示式)
有同學可能學過like模糊匹配,沒有學習過正規表示式,其實正規表示式就是高階的匹配。建議花點時間去學習,可以看這篇博文。
這裡只列幾個最常用的用法,其實就是正規表示式的東西:
① 元字元匹配
select name
from products
where name regexp '.000'
這裡的 . 是正規表示式裡面表示乙個任意字元的意思,那麼在這裡就是能匹配比如 '1000' '2000' '9000' 等等。
②使用or匹配
select name
from products
where name regexp '1000|2000'
③字符集匹配
select name
from products
where name regexp '[123] ton'
這裡的就是字元集合,其實也可以用-表示集合範圍,比如說[1-9a-z]表示陣列1到9加上小寫字母a到z。
④轉義字元
就是正規表示式裡已經用到的用來表示匹配規則的字元需要轉義才能使用。
⑤匹配個數
最後是字元集合為了方便使用我們有一些預設好的:
[:alnum:] 表示任意字母和數字,即[0-9a-za-z]
[:alpha:] 表示任意字元[a-za-z]
等等
mysql正規表示式 MySQL正規表示式
正規表示式是為複雜搜尋指定模式的強大方式。正規表示式描述了一組字串。最簡單的正規表示式是不含任何特殊字元的正規表示式。例如,正規表示式hello匹配hello。非平凡的正規表示式採用了特殊的特定結構,從而使得它們能夠與1個以上的字串匹配。例如,正規表示式hello word匹配字串hello或字串w...
C 中使用正規表示式
正規表示式是一種用於模式匹配和替換的強有力工具,它通過構建乙個表示式對輸入的字串進行模式匹配,然後返回處理後的結果,如果你對它還不了解,請繼續往下看。以最廣泛的web身份驗證為例 我們從頁面中接收到輸入的使用者名稱,存入變數temp username,此時變數中可能含有惡意的資訊,我們想要使用者名稱...
QTP中使用正規表示式
正規表示式 regexp 物件 屬性 global屬性 設定或返回乙個 boolean 值,該值指明在整個搜尋字串時模式是全部匹配還是只匹配第乙個。ignorecase屬性 設定或返回乙個boolean值,指明模式搜尋是否區分大小寫。pattern屬性 設定或返回被搜尋的正規表示式模式。方法 exe...