-- 判断是不是以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 日
© 允许规范转载