```sql -- 判断是不是以a开头 select 'abc' regexp '^a'; -- 1 -- 判断是不是以c结尾 a开头 select 'abc' regexp '^a','abc' regexp 'c$'; -- 1 1 -- 匹配任意字符 select 'abc' regexp '.a'; -- 0 select 'abc' regexp '.b';-- 1 select 'abc' regexp '..c';-- 1 select 'abc' regexp '.b.';-- 1 select 'abc' regexp 'a..';-- 1 -- [] 匹配括号内"任意"单个字符 select 'abc' regexp '[xyz]';-- 0 select 'abc' regexp '[ab]';-- 1 select 'abc' regexp '[ac]';-- 1 -- ^ 在[]是取反 除了abc是否有别的 select 'abc' regexp '[^abc]'; -- 0 select 'xyz' regexp '[^abc]'; -- 1 def-xyz select 'abc' regexp '[^a]'; -- 1 bc-xyz -- * 出现0个或多个 select 'stab' regexp '.ta*b'; -- .tb .tab .taab .ta...b select 'stb' regexp '.ta*b'; select '' regexp 'a*'; -- 1 select 'stb' regexp '.(ta)*b'; -- 1 -- + 一个或多个 select 'stab' regexp '.ta+b'; -- 1 select 'stb' regexp '.ta+b'; -- 0 -- ? 匹配0个或1个 select 'stab' regexp '.ta?b'; -- 1 select 'staab' regexp '.ta?b'; -- 0 -- | 或 select 'abc' regexp 'a|b'; -- 1 select 'abc' regexp '^(a|b)'; -- 1 -- 匹配{ }个 select 'abbbc' regexp 'ab{3}c'; -- 1 select 'abbbc' regexp 'ab{4}c'; -- 0 -- {} 匹配范围 select 'abbbc' regexp 'ab{3,5}c'; -- 1 select 'abbbbbc' regexp 'ab{3,5}c'; -- 1 select 'abbc' regexp 'ab{3,5}c'; -- 0 -- () 序列匹配 select 'abbbc' regexp 'a(bbb)c'; -- 1 select 'abbbc' regexp 'a(bb)c'; -- 0 select 'abbbc' regexp 'a(bb)bc'; -- 1 select 'abbbc' regexp 'a(bb){1,3}c'; -- 0 select 'abbbbc' regexp 'a(bb){1,3}c'; -- 1 -- a开头 select 'abcdefg' regexp '^a'; -- 1 -- g结尾 select 'abcdefg' regexp 'g$'; -- 1 select 'abcdefg' regexp '.f'; -- 1 select 'abcdefg' regexp '.h'; -- 0 select 'abcdefg' regexp '[hfk]'; -- 1 select 'efg' regexp '[^XYZ]','X' regexp '[^XYZ]'; -- 1 0 select '1234dfd2222229@163.com' regexp "[A-zA-Z0-9]@{1}(163){1}.(com){1}"; select '123456789@163.com' regexp "[A-zA-Z0-9._%+-]+@163.com"; select '13587994569' regexp '^1[3,9]\\d{9}$'; ``` 最后修改:2024 年 05 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏