用SQL经典案例来练习正则表达式

发布于:2023-01-04 ⋅ 阅读:(229) ⋅ 点赞:(0)

 SQL文本如下:

-- 学生表 Student
insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
insert into Student values('02' , '钱电' , '1990-12-21' , '男');
insert into Student values('03' , '孙风' , '1990-05-20' , '男');
insert into Student values('04' , '李云' , '1990-08-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吴兰' , '1992-03-01' , '女');
insert into Student values('07' , '郑竹' , '1989-07-01' , '女');
insert into Student values('08' , '王菊' , '1990-01-20' , '女');

-- 教师表 Teacher
insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');

字符匹配

  • 匹配单个数字

[0-9]

 

  •  匹配单个小写字母

[a-z]

 

  • 匹配单个大写字母

[A-Z]

  •  匹配单个汉字

[\u2E80-\u9FFF]

  • 匹配单个空格

[ ]

 

  • 匹配符号

[\-\[\]~`!@#$%^&*()_+={}|\:";'<>?,./]

 

  •  匹配换行符

[\n]

  • 匹配单个偶数

[02468]

 

  •  匹配单个奇数

[13579]

  •  匹配指定的数字

[456]

  • 匹配单个大小写字母

[a-zA-Z]

 

  • 匹配单个数字或字母

[0-9a-zA-Z]

 

  • 匹配数字、大小写字母、汉字

[0-9a-zA-Z\u2E80-\u9FFF]

 

 反向匹配

  • 不匹配方括号中的字符

[^0-9]

  • 不匹配汉字

[\u2E80-\u9FFF]

 

  • 不匹配数字和字母

[^0-9a-zA-Z]

 

 简写

  • 匹配单个数字简写

[\d]

  •  匹配除了换行符以外的任意单个字符

.

量词

  • 匹配n个连续字符

[a-zA-Z]{4}

  • 匹配n~m个连续字符

[a-zA-Z]{4,6}

 

  •  至少出现n次

[a-zA-Z]{5,}

  •  匹配连续出现2次“-01”的部分

(-01){2}

逻辑或

  • 逻辑或

张.|李.

预查

  •  肯定预查

(?<=')[\u2E80-\u9FFF]{2,}(?=')

  •  否定预查

(?<!')[\u2E80-\u9FFF]+(?!')

 


网站公告

今日签到

点亮在社区的每一天
去签到