日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 數據庫 > Oracle > 正文

Oracle 正則表達式實例詳解

2024-08-29 13:59:56
字體:
來源:轉載
供稿:網友

Oracle 正則表達式實例詳解

FORM開發中的按行拆分需求:拆分后的行要有規律,并按前后層次排序

  需求分析如下:

     現有行: 2  ,      2.1  ,     2.2   ,   2.3           3
                     2.1.1,    2.1.2  ,    2.1.3 ,    2.2.1  , 2.1.1.1, 2.1.1.2,

對 2 進行拆分得到的 結果應該是 2.4 (2.4 是通過 查看歷史記錄中以2 開頭,有一位小數點,小數點后一位最大值,獲得該最大值+1 ,得到既是新行的后綴,保證拆分是按照前后順序遞增的)

對 2.1 進行拆分得到的應該是 :2.1.4 首先要保證 每次拆分得到的下一行都是多一位小數點 

對2.1 拆分 獲取最大后綴 比較對象 時候  應該匹配前綴是2.1的 且只有兩位小數點的   (排除前綴符合位數不符合的情況:2.1.1.1 ,2.1.1.2 )

對3 進行拆分 沒有歷史記錄是以 3開頭的情況 這時候 就要重新 開始拆分:得到的應該是 3.1

這里的關鍵就是匹配歷史記錄進行比較,決定拆分后的最后一位的最大值

  匹配的時候不能按照 數字的位數來判斷,因為數字有可能是兩位數,三位數,應該根據小數點來判斷

匹配要使用到 正則表達式:

與PHP、Python一樣Oracle 的正則表達式函數也是 主要由四個函數實現:相似匹配,定位查找,獲取匹配子字符串,替換匹配結果(最重要)

(1)相似匹配: regexp_like() 

regexp(source_str,pattern,match_parameter)

 第一個參數:原字符串,第二個參數匹配模式,第三個參數匹配選項

第三個參數 匹配選項在這幾個函數中都要相似作用(可選)

     常用: i:大小寫不敏感; c:大小寫敏感;          n:點號 . 不匹配換行符號;                   
                 m:多行模式;      x:擴展模式,忽略正則表達式中的空白字符。

匹配成功返回true 失敗返回 false

我的使用:

IF REGEXP_LIKE(DEL_LINE_NUMBER, '^/d*/./d*/./d*$') THEN          --匹配只有兩個小數點的數字,字符串

  模式中的符號說明:模式需要用一對雙引號括起來
                                            ^ 標明字符串的開頭,        $ 標明字符串的結尾 
                                            /d 匹配 一個0-9 的數字      * 號  匹配前面的字符0次或更多次
                                              /. 匹配一個點號,因為點號有其他含義,所以用/作為轉義

(2)定位查找字符位置:regexp_instr( )

regexp_instr(source_string ,pattern,position,occurrence ,return_option ,match_parameter )source_string:輸入的字符串pattern:正則表達式position:標識從第幾個字符開始正則表達式匹配。(默認為1)occurrence:標識第幾個匹配組。(默認為1)return_option:0——返回第一個字符出現的位置。1:pattern下一個字符起始位置。match_parameter:匹配模式

前面兩個字段必輸:

regexp_instr() select str, regexp_instr(str,'/.' ) ind , 默認從第一個字符開始查找,查找第一個.號,也可以匹配資格符合要求的字符串,寫對匹配格式即可,不一定是單個字符 regexp_instr(str,'/.',1,2) ind , 從第1個字符開始,查找第二個.號所在的位置 regexp_instr(str,'/.',5,2) ind 從第五個字符開始,查找第二個.號的位置,注意最終查找到的字符和字符串的位置是相對于查找字符串的起始位置fromtmp where id='instr';STR    IND IND IND--------------- ----- ----- -----192.168.0.1   4  8 10
  select regexp_instr('192.168.0.1','/.',1,level) ind , -- 點號. 所在的位置 regexp_instr('192.168.0.1','/d',1,level) ind -- 每個數字的位置fromdualconnectbylevel <= 9 連續匹配目標字符串出現的第一次出現的位置,第二次出現的位置,直到第九次出現的位置 IND IND----- ----- 4  1 8  2 10  3 0  5 0  6 0  7 0  9 0 11 -- 第八個數字所在位置為 11 這里不存在第九個數字,匹配不到,返回的地址為0  0  0 -- 沒有匹配到時返回為0 ,對應第一位是從1開始,而不是0 開始

我的案例:

 V_POSITION_BIT := REGEXP_INSTR(REC_DATA.DEL_LINE_NUMBER,'/.',1,2) -1; -- 第二個小數點的位數,減一

 substr(DEL_LINE_NUMBER,1,V_POSITION_BIT) -- 獲取字符串中第二個小數點之前的子串

(3) 獲取匹配子字符串:regexp_substr()

regexp_substr(source_string ,pattern,position,occurrence  ,match_parameter)

regexp_substr()在最初目的是根據字符串中某一個字符,分割字符串形成一個數組之類的

例如: 192.168.233.23   按點號"." 分組 最終結果有四個 :192     168     233     23  

注意的是 pattern書寫的格式不僅僅要用括號括起來,還要使用中括號括起來

我的案例:

REGEXP_SUBSTR(DEL_LINE_NUMBER,'[^.]+',1,1) -- 匹配前綴相同,第一個小數點前的字符select str, regexp_substr(str,'[^,]+')  str, regexp_substr(str,'[^,]+',1,1) str, 從第一位開始匹配,獲得用逗號分隔字符串之后,第一個‘分割后的子串' regexp_substr(str,'[^,]+',1,2) str, -- occurrence 第幾個匹配組 regexp_substr(str,'[^,]+',2,1) str -- position 從第幾個字符開始匹配fromtmpwhereid='substr';STR    STR    STR    STR    STR--------------- --------------- --------------- --------------- ---------------123,234,345  123    123    234    2312,34.56:78  12    12    34.56:78      2123456789  123456789  123456789  逗號分割后不存在第二個   23456789(從第二位之后開始分割,沒有就是取整體)

(4) 替換匹配結果:regexp_replace()

select str, regexp_replace(str,'020','GZ') str, regexp_replace(str,'(/d{3})(/d{3})','</2/1>') str -- 將第一、第二捕獲組交換位置,用尖括號標識出來fromtmpwhereid='replace'; STR    STR    STR--------------- --------------- ---------------(020)12345678 (GZ)12345678 (020)<456123>78001517729C28 001517729C28 <517001>729C28

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欧美亚洲免费高清在线观看| 国产小视频在线| 国产视频一区三区| 精品国产网站在线观看| 国产三级免费观看| 最近免费中文字幕在线第一页| 中文字幕在线官网| 亚欧成人精品| 91午夜在线| 精品久久久91| 欧美日韩国产专区| aa国产成人| 欧美日韩免费高清| 亚洲男女av一区二区| 国产欧美日韩在线| 国产欧美第一页| 中文字幕精品在线| 欧美一级一级性生活免费录像| 国产亚洲一区字幕| 中文字幕在线日韩| 国产成人精品网址| 国产一区不卡精品| 中文字幕伊人| 一区二区三区四区五区视频在线观看| 日韩免费精品| 国产综合成人久久大片91| 在线精品视频免费播放| 中文字幕4区| 另类专区欧美| 久久久综合av| 日韩精品视频在线播放| 日韩精品高清不卡| 99视频在线看| 日韩在线视频一区| 亚洲日本欧美日韩高观看| 日韩一级二级三级精品视频| 一区二区在线高清视频| 欧美综合精品| 一区二区三区在线播| 国产欧美日韩精品高清二区综合区 | 午夜一区二区视频| 美日韩精品免费视频| 中文字幕日韩视频| 一级免费a一片| 亚洲免费精品| 国产免费久久| 久久久91精品国产| 日韩午夜黄色| 精品成人久久久| www在线播放| 中文网丁香综合网| 欧美日韩乱国产| 亚洲综合在线不卡| 久久婷婷综合国产| 久久蜜桃精品| 国产 欧美在线| 欧美日韩夫妻久久| 日韩精品手机在线观看| 日本亚洲欧美三级| 国产无遮挡在线视频免费观看| 久久电影国产免费久久电影| 日本黄色一区二区三区| 欧洲精品久久久| 二区三区中文字幕| 国产羞羞视频在线播放| 国产在线观看a| 日韩视频精品| 日韩一级视频在线观看| 黄色一级大片在线免费看国产一| 免费视频中文字幕| 九一精品国产| 精品一区二区三区中文字幕在线| h片精品在线观看| 日韩一级免费视频| 欧美日韩在线国产| 中文字幕久精品免费视频| 欧美日韩中文另类| 午夜精品一区二区三区免费视频| 国产黄在线看| 欧美日韩视频不卡| 日韩中文字幕在线视频观看| 日韩一级网站| 国产高清在线视频| 婷婷久久综合网| 免费一级欧美在线观看视频| 欧美99久久| 亚洲一区在线观看视频| 成片免费观看| 久久99精品久久久久久青青日本| 国产精品一区二三区| 国产一级在线播放| 欧美一级二级三级区| 成年人黄国产| 色综合婷婷久久| 在线国产一级| 日韩三级视频在线看| 国产性一级片| 精品国产999| 欧美久久在线| 国产一区三区三区| 欧美日韩视频免费播放| 一区二区日韩视频| 精品熟女一区二区三区| 欧美日韩99| 日韩视频精品在线观看| 日韩欧美在线影院| 日韩在线视频网| 欧美日韩中文在线| 中文字幕欧美日韩在线| 亚州黄色一级| 欧美日韩在线观看成人| 日韩在线视频二区| 日韩视频国产视频| 日韩精品在线免费播放| 99精品人妻国产毛片| 黄色国产网站在线观看| 国产福利免费观看| 日韩一级视频在线观看| 国产日韩精品在线| 精品区一区二区| 在线黄色国产电影| 亚洲女人天堂a在线播放| 欧美日韩午夜在线视频| 日韩视频精品| 中文字幕精品一区二| 久久婷婷亚洲| 国产一区精品| 99pao成人国产永久免费视频| 日韩欧美综合| 欧美日韩在线第一页| 国产乱码在线观看| 日韩专区视频网站| 欧美日韩国产一区在线| 国产绿帽一区二区三区| 在线一区av| 国产成人精品日本亚洲专区61| 韩国一区二区av| 国产乱国产乱300精品| 亚洲免费婷婷| 国产成人精品日本亚洲专区61| 欧美国产三级| 91久久精品在线| 亚洲一区日韩精品中文字幕| 国产91久久久久蜜臀青青天草二| 欧美日韩一二| 日韩精品大片| 久久视频在线免费观看| 日韩一级中文字幕| 亚洲福利精品在线| 精品久久在线| 午夜福利一区二区三区| 黄色一区二区在线| 精品国产欧美日韩不卡在线观看| 在线免费播放av| 日韩精品在线私人| 亚洲热线99精品视频| 婷婷综合福利| 国产欧美久久久久久久久| 国产乱国产乱老熟300| 国产一区日韩欧美| 日韩欧美视频一区二区三区四区| aaa欧美日韩| 久久久91精品国产| 久久福利视频一区二区| 精品国产999| 中文字幕久久av| 国产在线拍揄自揄拍| 粉嫩喷白浆久久| 亚洲成av人片| 一区二区三区久久| 亚洲福利视频在线| 久久永久免费视频| 精品不卡一区二区| 在线精品日韩| 亚洲3区在线| 日韩三级精品| 国产婷婷精品| 天天综合日日夜夜精品| 欧美日韩国产一二三| 国产福利第一页| 国产91大片| 久久中文免费视频| 91精品国产自产| 91一区二区| 欧美日韩中国免费专区在线看| 国产在线视频不卡| 亚洲乱码在线观看| 国产偷国产偷亚洲清高网站| 欧美日韩国产大片| 91精品视频国产| 1区2区3区在线视频| 欧美激情一区二区在线| 欧美特黄一区| 国产视频一二区| 一区三区二区视频| 国产欧美中文字幕| 国产视频二区| 日本视频久久久| 欧美日韩国产一区中文午夜 | 亚洲第一中文字幕| 国产日韩综合| 国产欧美日韩在线观看| 亚洲欧美999| 亚洲黄页一区| 91精品国产日韩91久久久久久| 欧美在线视频二区| 国产在线不卡av| 久久99精品久久久久久青青日本 | 中文字幕欧美亚洲| 欧美日韩亚洲综合| 国产成人综合精品| 欧美日韩国产黄色| 亚洲欧美日本另类| 国产一级一片免费播放| 婷婷中文字幕一区| 国产高清一级片| 精品国产免费视频| 欧美日韩国产一中文字不卡| 日韩欧美一级二级三级久久久| 7799精品视频天天看| 中文字幕国产视频| 在线不卡日本| 精品999视频| 日韩一级精品| 日韩不卡一二三区| 日韩在线视频免费观看高清中文| 中文字幕亚洲国产| 中文字幕精品在线| 中文字幕五月欧美| 亚洲第一中文字幕| 日韩精品视频免费看| 91精品国产91久久久久久不卡| 国产成人精品亚洲| 日本精品专区| 亚洲一区在线观看免费| 日韩精品综合在线| 国产欧美日韩久久| 欧美中文字幕在线观看视频| 久久精品国产成人一区二区三区| 蜜臀久久精品| 精品熟女一区二区三区| 一区二区三区精品99久久| 欧美日韩成人一区| 国产欧美日韩91| 亚洲欧洲综合另类| 亚洲福利一区二区三区| 精品999在线| 免费视频一区三区| 99精品电影| 中文字幕在线观看播放| 中文av字幕一区| 91精品在线国产| 国产在线一在线二| 一级片在线播放| 69堂精品视频在线播放| 91精品在线国产| 国产99精品| 欧美日本精品在线| 日韩精品视频网| 精品婷婷伊人一区三区三| 欧美亚洲免费高清在线观看| 色99中文字幕| 天堂中文在线视频| 免费在线观看国产黄| 国产一区久久| 91麻豆精品国产91久久久使用方法 | 欧美日韩综合高清一区二区| 国产在线日韩精品| 97国产视频| 高清日韩中文字幕| 顶级网黄在线播放| 大香一本蕉伊线亚洲网| 国产在线二区| 红桃视频亚洲| 91精品综合久久久久久 | 99久久精品国产亚洲| 一区视频在线播放| 免费看黄资源大全高清| 国产 日韩 欧美 综合 一区| 亚洲黄页一区| 日韩在线播放一区二区| 欧美日韩亚洲综合| 国产乱码在线观看| 亚洲欧美999| 日本亚洲视频在线| 国产黄色在线| 国产中文伊人| 欧美三级日韩三级国产三级| 天堂在线中文资源| 天堂精品高清1区2区3区| 久久久综合av| 亚洲免费福利视频| 日韩欧美国产网站| 一级片在线免费看| 欧美特黄一区| 日韩国产欧美亚洲| www.中文字幕在线| 欧美另类专区| 亚洲综合在线中文字幕| 91精品国产91久久久久久久久| 精品1区2区3区| 欧洲一级精品| 丰满少妇一区| 欧洲精品在线一区| 国产欧美日韩在线| 国产一级一片免费播放| 国产午夜精品久久| 欧美日韩国产片| 亚洲福利精品视频| 欧美在线亚洲一区| 精品国内自产拍在线视频| 91精品国产91综合久久蜜臀| 亚洲国内精品视频| 欧美日韩激情在线一区二区三区| 亚洲一区在线观看免费| 国产 欧美在线| 91精品国产综合久久久久久漫画 | 中文字幕亚洲国产| 国产欧美日产一区| 91精品国产91久久久久青草| 国产男女av| 精品久久在线观看| 国产视频一区三区| 国产欧美久久久| 91欧美日韩| 91精品久久久久久蜜臀| 日韩国产在线观看一区| 伊人国产视频| 99国产成 人 综合 亚洲欧美 | 欧美日韩视频网站| 欧美 日韩 国产 在线| 中文字幕国产亚洲| 国产区高清在线| 在线国产91| 国产视频97| 亚洲一区中文在线| 精品国产免费视频| 久久久精品欧美| 国产在线第一页| 亚洲第一页中文字幕| 精品日韩一区二区三区免费视频| 久久精品电影| 亚洲成在线观看| 国产在线导航| 久久精品国产99| 一级片免费在线播放| 午夜国产在线视频| 日韩欧美国产高清| 一本一道久久a久久精品综合蜜臀| 日韩精品视频网| 亚洲成a人片在线www| 国产视频2区| 欧美日韩精品在线| 国产日韩精品在线看| 国产一二三四| 久99久视频| 日韩久久不卡| 亚洲欧洲三级| 日韩高清不卡一区| 亚洲欧洲国产视频| 日韩中文字幕亚洲| 日韩在线不卡| 中文字幕亚洲欧美| 日韩中文字幕在线一区| 国产在线导航| 欧美亚洲国产激情| 中文字幕欧美亚洲| 欧美日韩人人澡狠狠躁视频| 亚洲欧美久久久| 日韩欧美一级二级三级久久久| 国产中文伊人| 国产高清一级片| 亚洲成av人片一区二区密柚| 国产日韩专区| 91精品国产综合久久久久久| 免费精品国产自产拍观看| 日韩精品三级| 精品日韩在线| 国产伦精品免费视频| 国产在成人精品线拍偷自揄拍| 在线三级av| 日韩欧美亚洲日产国| 欧美日韩在线观看首页| 中文字幕日韩欧美在线| 伊人网站在线| 精品激情国产视频| 欧美.日韩.国产.一区.二区| 视频一区日韩| 国产日产一区二区三区| 国产婷婷一区二区| 国产91久久久久蜜臀青青天草二| 91最新在线| 日韩在线视频观看| 中文字幕亚洲区| 玖玖在线免费视频| 精品欧美日韩| 日韩av一区二区在线| 在线一区二区三区精品| 国产欧美 在线欧美| 一区二区视频在线|