正則表達式,給我寫個1,2,3,4 或者4,1,2,3 匹配出4 來
select regexp_substr('1,2,3,4','[4]') tony from dual;
select regexp_substr('4,3,2,1','[4]') tony from dual;
oracle 驗證電話號碼(手機號碼):
oracle 驗證電話號碼(手機號碼):
/**
* 手機號碼
* 移動:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
* 聯通:130,131,132,152,155,156,185,186
* 電信:133,1349,153,180,189
*/
select t.* from myregex t where regexp_like(t.name,'^1(3[0-9]|5[0-35-9]|8[025-9])[0-9]{8}$')
select t.* from myregex t where regexp_like(t.name,'^1(3[0-9]|5[0-35-9]|8[025-9])?[0-9]{8}?$')
select t.* from myregex t where regexp_like(t.name,'^1(3[[:digit:]]|5[0-35-9]|8[025-9])?[[:digit:]]{8}?$')
/**
* 中國移動:China Mobile
* 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
*/
select t.* from myregex t where regexp_like(t.name,'^1(34[0-8]?|3[5-9]?|5[017-9]?|8[278]?)[0-9]{8}$')
select t.* from myregex t where regexp_like(t.name,'^1(34[0-8]?|3[5-9]?|5[017-9]?|8[278]?)[[:digit:]]{8}$')
/**
* 中國聯通:China Unicom
* 130,131,132,152,155,156,185,186
*/
select t.* from myregex t where regexp_like(t.name,'^1(3[0-2]?|5[25-6]?|8[5-6]?)[0-9]{8}$')
select t.* from myregex t where regexp_like(t.name,'^1(3[0-2]?|5[25-6]?|8[5-6]?)[[:digit:]]{8}$')
/**
* 中國電信:China Telecom
* 133,1349,153,180,189
*/
select t.* from myregex t where regexp_like(t.name,'^1((33?|53?|8[09]?)[0-9]?|349)[0-9]{7}$')
select t.* from myregex t where regexp_like(t.name,'^1((33?|53?|8[09]?)[0-9]?|349)[[:digit:]]{7}$')