sql(sql 正则表达式是什么)
作者:百科火 更新 :2022-03-10 03:00:20 科技百科

sql 正则表达式是什么呢?不清楚的小伙伴们一起来看看我现在的分享!
正则表达式中的元字符:
元字符
含意
事例表明要匹配的字符是一个独特字符、变量定义或是后面一种引入。(后引用反复上一次的匹配)
n 匹配换行符 匹配 匹配(匹配(匹配 )^匹配字符串的开始部位^a匹配arwen.但不匹配barwen.$
匹配字符串的结尾部位en$匹配arwen.但不匹配arwenb.*
匹配前边的字符0次或多次a*rwen可以匹配rwen或aaarwen. 匹配前面的字符1次或多次a rwen可以匹配arwen或aarwen.但不可以匹配rwen.?匹配前边的字符0次或1次a?rwen可以匹配arwen或rwen.但不可以匹配aarwen.{n}匹配前边的字符正好是n次,在其中n是整数金额ar{2}wen可以匹配arrwen.但不可以匹配arwen或arrrwen.{n,m}匹配前边的字符最少是n次,较多是m次.假如写出
{n,}表明至少匹配n次.沒有限制.
ar{1,2}wen可以匹配arwen,arrwen.但不匹配awen或arrrwen..点号,匹配除null,自动换行之外的随意单独字符arw.n.可以匹配arwen,arwin.但不可以匹配arween或arwn.(pattern)括号中pattern是一个子正则表达式,匹配特定pattern方式的一个子关系式。实际上括号如同一般语言表达关系式中的括号.有时候多多些括号可提高易读性.此外的用途见下边有关n的叙述.x|y匹配“或”x|y可以匹配x或是y[abc]可以匹配abc中的一切单独字符hello[abc]可以匹配helloa,hellob,helloc[a-z]可以匹配特定范畴内的一切单独字符hell[a-z]可以匹配hello或是hellz[::]特定一个字符类,可以匹配此类中的一切字符[:alphanum:]可以匹配字符0-9、A-Z、a-z[:alpha:]可以匹配字符A-Z、a-z[:blank:]可以匹配空格符或tab键[:digit:]可以匹配数据0-9[:graph:]可以匹配非空字符[:lower:]可以匹配小写字母字母a-z[:print:]与[:graph:]相近,不同点取决于[:print:]包含空格符字符[:punct:]可以匹配标点.,""这些[:space:]可以匹配全部的空字符[:upper:]可以匹配英文大写字母A-Z[:xdigit:]可以匹配十六进制数据0-9、A-F、a-fn这也是对前一次匹配击中的一个后引入,在其中n是一个正整数arw(en)1可以匹配arwenen.留意1前边务必是个加括号的子关系式.1.regexp_like:
regexp_like(x,pattern[,match_option]),查询x是不是与pattern相匹配,该函数公式还能够给予一个可选择的主要参数match_option字符串表明默认设置的匹配选择项。match_option的选值如下所示:‘c’ 表明在开展匹配时区别大小写字母(缺省值);'i' 表明在开展匹配时不区别大小写字母;'n'(.)点号能表明全部单独字符,包含自动换行(俺还不知道哪些地方有效到自动换行.只了解sql里边可以用chr(10)表明自动换行.'m' 字符串存有自动换行的情况下作为几行解决.那样$就可匹配每排的末尾.否则的话$只匹配字符串最终的部位.
实例:select * from emp where regexp_like(ename,'^a[a-z]*n$');可以搜索ename中以a开头以n末尾的行.例如ename为arwen或arwin或anden.但Arwen不可以被匹配.由于默认设置是区别大小写字母.如果是select * from emp where regexp_like(ename,'^a[a-z]*n$','i')则可以搜索ename为Arwen的行纪录.
2.regexp_instr:
REGEXP_INSTR(x,pattern[,start[,occurrence[,return_option[, match_option]]]])用以在x中搜索pattern。回到pattern在x中产生的部位。匹配位置从1逐渐。可以参照字符串函数公式 INSTR(),主要参数有关:'start' 开始查找的部位;'occurrence' 表明应当回到第几次发生pattern的部位;'return_option' 表明应当回到哪些整数金额。若该主要参数为0,则表明要回到的整数金额是x中的一个字符的部位;若该主要参数为非0的整数金额,则表明要回到的整数金额为x中发生在pattern以后 的字符的部位;'match_option' 改动默认设置的匹配设定.与regexp_like里边的同样.
实例:
DECLARE
V_RESULTINTEGER;
BEGIN
SELECTREGEXP_INSTR('hello world','o',1,1,0)INTOV_RESULT
FROMDUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果为5.即字母o第一个次发生的部位
假如regexp_instr('hello world','o',1,1,n)在其中n为除0以外的整数金额.例如1,3.则結果为6.表明第一次发生字母o的后边一个字符的部位.
假如regexp_instr('hello world','o',1,2,0)则結果为9.表明第二次发生字母o的部位.
3.regexp_replace:
REGEXP_REPLACE(x,pattern[,replace_string[,start[,occurrence[, match_option]]]])用以在x中搜索pattern,并将其更换为replae_string。可以参照字符串函数公式 REPLACE(),主要参数同REGEXP_INSTR函数公式
实例:
DECLARE
V_RESULT varchar2(90);
BEGIN
SELECTREGEXP_REPLACE('hello world','o','x',1,1)INTOV_RESULT
FROMDUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果为hellx world.
假如REGEXP_REPLACE('hello world','o','x'),则結果为hellx wxrld.
假如 REGEXP_REPLACE('hello world','o','x',1,2)则結果为hello wxrld.
4.regexp_substr:
REGEXP_SUBSTR(x,pattern[,start[,occurrence[, match_option]]])用以在x中搜索pattern并回到。可以参照字符串函数公式 SUBSTR(),主要参数同REGEXP_INSTR函数公式.
例如:
DECLARE
V_RESULT VARCHAR2(255);
BEGIN
SELECTREGEXP_SUBSTR('hello world','l{2}')INTOV_RESULT
FROMDUAL;
DBMS_OUTPUT.PUT_LINE(V_RESULT);
END;
結果为ll
查看到匹配的字符串才回到匹配的字符.没查出就回到空.
以上便是我现在的共享了,期待可以作用到大伙儿。
- END -
gs是什么意思?(GS表明大号童鞋,耐克GS的二种含意)
01GS有二种含意。第一:GS表明大号童鞋,耐克GS便是耐克大号童鞋。第二:GS事实上是Grade School的简称,直接翻译是中小学...
野羊和麂子的区别(菲氏麂仅有标本采集报导)
野羊和麂子的区别,科属不同:野羊为偶蹄目、牛科、羊亚科、山羊属的哺乳动物。麂子是哺乳纲、偶蹄目、鹿科动物。外形...
奶奶与孙女关系怎么填是什么关系(奶奶与孙女的关系是什么?)
奶奶与孙女的关系是祖孙关系,在填表的过程中,在关系一栏里,奶奶和孙女的关系可以直接填写为祖孙关系。祖孙关系是建立...
学习通考试悬浮窗会被检测吗(学习通移动端考试规则是什么)
会。学习通的课程考试悬浮窗是会被检测到的。因为后台的监考老师具有实时监测考生屏幕的权限。如果学生在考试过程...
一级军士长相当于军官什么级别(一级军士长是我军士官中的最高级别,以前叫六级士官)
1988年,第七届全国人大常委会第二次会议通过了《中国人民解放军军官军衔条例》,予以公布施行。士兵军衔制度同时立法...
200cm是不是2米(200厘米=2米。厘米和米都是长度单位。)
200厘米=2米。厘米和米都是长度单位。因为1厘米=0.01米,所以200厘米=200x0.01米=2米。因此200厘米等于2米。米“米...
一石等于多少斤(中国经济通史)
“石”是古代重量单位,今读dàn。在古书中读shí,因古时1石约等于1担(即10斗),因此在民间“石”又可俗读为dàn。在正式...
阁下是对谁的称呼
阁下为对“您”的敬称,与足下意思相近。目前人们在书信(尤其是公函、业务相关书信)中仍然使用阁下来称呼彼此。但是由...
车辆合格证编号在哪里(车辆合格证编号在机动车登记证书第一页的右上角)
车辆合格证编号在机动车登记证书第一页的右上角,共17位。车辆合格证编号,就是VIN码,是英文VehicleIdentificationNumb...
为什么新疆人长得像外国人(新疆人里长得像混血的只是维吾尔族、哈萨克族、俄罗斯族等民族)
新疆人里长得像混血的只是维吾尔族、哈萨克族、俄罗斯族等民族,这些民族很多都是欧洲、中东和印度半岛迁徙过来互相...