Oracle中的正则表达式
检查约束 --密码的长度必须在3-6 --年龄必须在1-120 --性别只能是男或女 --电话号码必须满足电话的格式: 手机格式,座机格式 drop table test; select * from test; create table test ( id number(11) primary key, name varchar2(20) not null, pwd varchar2(20) check (length(pwd)>2 and length(pwd)<7),--密码必须在3-6之间 age number(11) check (age between 1 and 120),--年龄必须在1-120之间 gender char(2) check (gender='男' or gender='女'), --性别必须是男或女 tel varchar2(20) check (regexp_like(tel,'^1(3|5|8)[0-9]{9}$|^[0-9]{3}-[0-9]{8}$|^[0-9]{4}-[0-9]{7,8}$')) ) insert into test values(1,'jack','123',22,'男','13912341234'); insert into test values(2,'chris','abc',33,'女','0755-1234567'); --oracle中正则表达式的规则: 1、正则表达式的规则,需要以 ^开始,以$结束 2、匹配原则: ^12AB$ --表示,内容必须是12AB ^[0-9]$ --表示,0-9之间任意的一个数字 ^[0-9]{2}$ --表示任意的2位数字 ^[0-9]{2,6}$ --表示2-6位的任意数字 ^[A-Z]$ --表示任意的一个大写字母 ^[a-z]$ ^[a-z|A-Z]$ --不区分大小写的任意字母 ^1(3|5|8)$ --表示一共有两个字符,第一个必须为1,第二位在3,5,8中任选一位 ^1(3|5|8)[0-9]{9}$ --表示11位,第一位必须是1,第二位是3,5,8中任意一位,后面是9位数字 ^[0-9]{3}-[0-9]{8}$ --表示区号3位数字,中间横线连接,后面8位数字 ^[0-9]{4}-[0-9]{7,8}$ --表示区号4位,号码可以是7或8位