SQL之正则表达式的简单使用
生活随笔
收集整理的這篇文章主要介紹了
SQL之正则表达式的简单使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 正則表達式列表
比較運算符 regexp^ 開始$ 結束 . 除了“\n”換行 之外的任何單個字符 [..] 匹配包含的任意字符 [^...] 匹配除了xx的任意字符 p1|p2|p3 或者 * 匹配前面的子表達式0次或者多次 zo* 能匹配z 以及 zoo + 匹配前面的子表達式一次或者多次 {n} 匹配確定的n次 {n,m} 至少出現n次,最多m次二 正則表達式的簡單實踐
use mydb2; -- 正則表達式 -- 注意 正則表達式應該寫在where的語句中-- ^ 在字符串開始處進行匹配 select 'abc' REGEXP '^a'; -- abc是否以a開頭? -- 例如:在product表中查找所有以 ‘海’開頭的商品 -- 注意,正則放在where語句中 select * from product where pname REGEXP '^海';-- $ 在字符串末尾開始匹配 select 'abc' REGEXP 'a$'; select 'abc' REGEXP 'c$'; -- 在product表中查找所有以 ‘水’結尾的商品、 select * from product where pname REGEXP '水$';-- . 匹配任意單個字符 ,可以匹配除了換行符號之外的任意字符 select 'abc' REGEXP '.b'; select 'abc' REGEXP '.c'; select 'abc' REGEXP '.a';-- [...]匹配括號內的任意單個字符select 'abc' REGEXP '[xyz]'; select 'abc' REGEXP '[xyc]';-- [^...]匹配括號內的任意字符 都不在 前面 select 'a' REGEXP '[^abc]'; -- 注意 中括號的[^] 是除了他之外的意思, 如果是小括號的,那就是以他開頭,下面的 | 會用到 select 'x' REGEXP '[^abc]'; select 'abc' REGEXP '[^ac]';-- a* 匹配0 個或者多個 a 包括空字符串。 可以作為占位符使用,有沒有指定字符都可以匹配到數據 select 'stab' REGEXP '.ta*b'; select 'stab' REGEXP '.ta*b'; select '' REGEXP 'a*'; -- a+ 匹配1 個或者多個 a 不包括空字符串。 select 'stab' REGEXP '.ta+b'; select 'stb' REGEXP '.ta+b';-- a? 匹配0個或者1個a select 'stb' REGEXP '.ta?b'; select 'stab' REGEXP '.ta?b'; select 'staab' REGEXP '.ta?b';-- a1 | a2 匹配a1 或者a2 select 'a' REGEXP 'a|b'; select 'b' REGEXP 'a|b'; select 'b' REGEXP '^(a|b)'; -- 是不是以a/b開頭? (聯系[^..]的,^,注意,這個就是以xx開頭的意思了) select 'a' REGEXP '^(a|b)'; select 'c' REGEXP '^(a|b)';-- a{m} 匹配m個a select 'auuuus' REGEXP 'au{4}s'; select 'auuuus' REGEXP 'au{3}s';-- a{m,} 匹配最少m個a,最多無限個a select 'auuuus' REGEXP 'au{3,}s'; select 'auuuus' REGEXP 'au{4,}s'; select 'auuuus' REGEXP 'au{5,}s';-- a{m,} 匹配最少m個a,最多無限個a select 'auuuus' REGEXP 'au{3,}s'; select 'auuuus' REGEXP 'au{4,}s'; select 'auuuus' REGEXP 'au{5,}s';-- a{m,} 匹配最少m個a,最多n個a select 'auuuus' REGEXP 'au{3,5}s'; select 'auuuus' REGEXP 'au{4,5}s'; select 'auuuus' REGEXP 'au{5,10}s';-- (abc) -- 是一個序列匹配,不用括號括起來都是用單個字符去匹配,如果要把多個字符作為一個整體去匹配就需要用到括號,所以口號適合上面的所有的情況 select 'xababy' REGEXP 'x(abab)y'; select 'xababy' REGEXP 'x(ab)*y'; -- * 是0 次或者多次 select 'xabababy' REGEXP 'x(ab){1,2}y'; -- ab 出現最少一次,最多兩次總結
以上是生活随笔為你收集整理的SQL之正则表达式的简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spire.Doc 指定位置插入书签和获
- 下一篇: SQL正则表达式、列表运算、涉及null