• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    sql正則表達式

    來源:懂視網 責編:李贏贏 時間:2022-01-22 13:52:19
    文檔

    sql正則表達式

    元字符:說明要匹配的字符是一個特殊字符、常量或者后者引用,后引用重復上一次的匹配。^:匹配字符串的開頭位置。$:匹配字符串的末尾位置。*:匹配前面的字符0次或多次。+:匹配前面的字符1次或多次。?:匹配前面的字符0次或1次。
    推薦度:
    導讀元字符:說明要匹配的字符是一個特殊字符、常量或者后者引用,后引用重復上一次的匹配。^:匹配字符串的開頭位置。$:匹配字符串的末尾位置。*:匹配前面的字符0次或多次。+:匹配前面的字符1次或多次。?:匹配前面的字符0次或1次。

    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-f
    \n這是對前一次匹配命中的一個后引用,其中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_RESULT INTEGER ;

    BEGIN

    SELECT REGEXP_INSTR('hello world','o',1,1,0)INTO V_RESULT

    FROM DUAL;

    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

    SELECT REGEXP_REPLACE('hello world','o','x',1,1)INTO V_RESULT

    FROM DUAL;

    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

    SELECT REGEXP_SUBSTR('hello world','l{2}')INTO V_RESULT

    FROM DUAL;

    DBMS_OUTPUT.PUT_LINE(V_RESULT);

    END ;

    結果為ll

    查詢到匹配的字符串才返回匹配的字符.沒查到就返回空.

    以上就是小編今天的分享了,希望可以幫助到大家。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    sql正則表達式

    元字符:說明要匹配的字符是一個特殊字符、常量或者后者引用,后引用重復上一次的匹配。^:匹配字符串的開頭位置。$:匹配字符串的末尾位置。*:匹配前面的字符0次或多次。+:匹配前面的字符1次或多次。?:匹配前面的字符0次或1次。
    推薦度:
    標簽: sql 正則表達式
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 精品999久久久久久中文字幕 | 97精品伊人久久大香线蕉app| 国产精品欧美久久久久无广告 | 国产呦小j女精品视频| 久久夜色精品国产噜噜噜亚洲AV | 99在线精品免费视频| 99精品免费视频| 日本午夜精品一区二区三区电影| 久久成人精品| 国产精品免费大片一区二区| 青青青青久久精品国产| 国产精品jizz视频| 乱码精品一区二区三区| 中日精品无码一本二本三本| 日韩精品区一区二区三VR| 久久久精品人妻无码专区不卡| 日韩精品无码一本二本三本| 日韩亚洲精品福利 | 久久精品18| 国产综合色产在线精品| 国产精品成| 国产精品色视频ⅹxxx| 国产精品爱搞视频网站 | 69国产成人综合久久精品| 久久99精品国产麻豆| 人妻少妇精品无码专区二区| 欧美精品一区二区三区免费| 无码人妻精品一区二区三区夜夜嗨| 99在线精品免费视频| 99久久久国产精品免费无卡顿 | 国产综合色产在线精品| 国产午夜精品一本在线观看| 国产欧美日韩综合精品二区| 国产精品一级毛片无码视频| 国产精品第一页在线| 国产精品夜色视频一级区| 国内精品久久久久久久影视麻豆| 精品日本一区二区三区在线观看| 精品欧美| 亚洲欧美国产精品专区久久| 综合在线视频精品专区|