Oracle正则表达式之匹配网址

利于正则表达式匹配出网址

--1 表准备
create table test_regexp
(
object varchar2(50)
);

--2 数据准备

insert into test_regexp (OBJECT)
values (‘http://www.baidu.com‘);

insert into test_regexp (OBJECT)
values (‘http://360.cn‘);

insert into test_regexp (OBJECT)
values (‘https://help.alipay.com‘);

insert into test_regexp (OBJECT)
values (‘cctv.cn‘);

insert into test_regexp (OBJECT)
values (‘www.cntv.com‘);

insert into test_regexp (OBJECT)
values (‘23212.sasdas.2222‘);

commit;

--3

select * from test_regexp where   regexp_like(object,‘^(https?://)?(\w+\.)+[a-zA-Z]+$‘) ;

--4 返回结果

http://www.baidu.com
http://360.cn
https://help.alipay.com
cctv.cn
www.cntv.com
23212.sasdas.2222

时间: 2024-10-13 22:23:24

Oracle正则表达式之匹配网址的相关文章

正则表达式全局匹配网址

static void Main(string[] args) { string atxet = @"<h3 style='color: blue'> <img src='http://sp-dev01/KBC/KMS/KnowledgeEditImage/searchForKM20151109041139.jpg' />32323<img alt='laugh' height='20' src='http://sp-dev01/_layouts/portal/CK

oracle 正则表达式 匹配

oracle 正则表达式 在实际应用中,想排除带有中文的字段值: select h.froomnumber from t_broker_house h where REGEXP_LIKE(froomnumber,'^([a-z0-9A-Z]|-)*$') 字符串’^198[0-9]$’可以匹配‘1980-1989’,如果希望统计出公司那些员工是80年-89年入职的,就可以使用如下的SQL语句: select * from emp e where regexp_like(to_char( e.hi

正则表达式匹配网址

一段字符中匹配出网址,可以将css里复制的url(blabla)匹配网址方便下图 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>match</title> <script type="text/javascript"> window.onload = function() { var str = "u

Oracle正则表达式-初级使用

oracle正则表达式 ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同, 但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符. POS

Oracle正则表达式-初级

==================Oracle 正则表达式使用===============================================oracle正则表达式 ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQ

oracle正则表达式

需求: 匹配手机号,第一位可以是+,可以没有+,后面的全部要是数字,如: +861359415665 8613659558555 1356856455 都是合法的. +aa156945555 aa1359556666 aaddssdfdfsd 都是不合法的. 正则: [sql] view plaincopyprint? SQL> SELECT * FROM DUAL WHERE regexp_like('+333333' ,'^[\+]*[[:digit:]]+');      --该+转义或者

backreference Oracle正则表达式中的反向引用

这是Oracle对正则表达式的backreference的描述 从定义中可以看到,当匹配表达式中已()的形式将一个子串包含起来,后面就可以以\?的形式来引用.\1对应第一个(),\2对应第二个... 反向引用的引入使得正则表达式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用 regexp_like regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$') 上面这个例子中,匹配表达式里,\1表示第一个([0-9]),这个表达式要判断字符串

正则表达式同时匹配中英文_,还控制长度

匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度:[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  其中:^

Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace

Oracle正则表达式函数:regexp_like.regexp_substr.regexp_instr.regexp_replace --去掉所有特殊字符,只剩字母 SELECT REGEXP_REPLACE('(Sam-Tomats123-=,.231+)','[^[:alpha:]]','') FROM dual; Sql代码 Oracle使用正则表达式离不开这4个函数: 1.regexp_like 2.regexp_substr 3.regexp_instr 4.regexp_repla