--创建测试表
create table test_regexp(
val varchar2(255)
);
insert into test_regexp values('123');
insert into test_regexp values('-123');
insert into test_regexp values('123.123');
insert into test_regexp values('-123.123');
insert into test_regexp values('123L');
insert into test_regexp values('-123L');
insert into test_regexp values('123.123L');
insert into test_regexp values('-123.123L');
insert into test_regexp values('');
select * from test_regexp;
--测试数值正则表达式
--整形正则
select val from test_regexp where regexp_like(val, '^(-?[0-9]+)$');
--浮点型正则
select val from test_regexp where regexp_like(val, '^(-?[0-9]+)\.[0-9]+$');
--数值正则
select val from test_regexp where regexp_like(val, '^(-?[0-9]+)(\.[0-9]+)?$');
regexp_like(char1, char2) 正则验证: char1:字段, char2:匹配字符(用正则表示)
与Java 中 字符类型的 matches(regex) 方法效果一样
Java 验证数值类型, 也可以直接复制本文中正则