posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          隨筆分類

          隨筆檔案(1)

          收藏夾(18)

          搜索

          •  

          最新評論

          oracle10g正規(guī)表達式

          Posted on 2008-02-24 17:24 semovy 閱讀(339) 評論(0)  編輯  收藏 所屬分類: Oracle數(shù)據(jù)庫方面

          -------------------------------------------正規(guī)表達式:-----------------------------------------------

          正規(guī)表達式是符號和元素的集合,這些集合可以使用戶匹配特定的文本模式。正規(guī)表達式采用元符號的組合來定義各種匹配和搜索標準。在正規(guī)表達式中,匹配是大小寫敏感的。

          元符號                  描述                           示例

          *                 匹配0個或多個任意的字符         bd* 匹配bdqbdabc

                          匹配一個任意的字符               B?d匹配 BDd,Bld

          ^                 表示字符串的開始                 ^abcabcedabcfracdv

          $                 表示字符串的末尾                 bas$ bas為結尾的所有字符串

          x|y                匹配xy                       windo|door表示windo或者dr

          []                 匹配[]中的任意一個字符           ba[a-b]匹配baa bab

          {m}               可以匹配m                    m[0-9]{3}匹配m7m12m123                    

          {m,n}             至少m次最多n                 

          \n                表示前一個表達式可以重復N     [aeiou]\2 匹配aatldf abldf

          [::]             指定一個字符類,匹配該類中的任意一個字符

          使用正規(guī)表達式:

          函數(shù)                                         描述

          Regexp_like()      類似于like運算符,可以使用正規(guī)表達式執(zhí)行模式匹配操作

          Regexp_instr()     instr運算的擴張,可以用來搜索匹配正規(guī)表達式模式的輸入字符串

          Regexp_replace()   replace的擴展,用戶搜索符合正規(guī)表達式模式的輸入字符串,并用指定的字符代替這些字符串

          Regexp_substr()    substr函數(shù)的擴展,用戶搜索符合正規(guī)表達式模式的輸入字符串,輸出是這些搜索到的字符串

          說明:

          一:Regexp_like(search_string,pattern [,match_option]);

          (1):search_string是搜索值

          (2):parrern 是使用得正規(guī)表達式且其長度限制在512字節(jié)內

          (3)match_option:是一個文本串,可以使用戶設置該函數(shù)的匹配行為

          Match_option參數(shù)表:

                             描述

          C                 匹配時,大小寫敏感,是默認設置

          I                  匹配時,大小寫不敏感

          N                 允許使用圓點(。)匹配任何新增的字符

          M                 

          Eg

          Select author_id,last_name from author where regexp_liek(last_name,’e$’);--搜索以e結尾的作者姓名

          二:regexp_instr(search_string,pattern,[,position [,occurrence [,return_option [,match_option ]]]]);

          (1) :search_string是搜索值

          (2):parrern 是使用得正規(guī)表達式且其長度限制在512字節(jié)內

          (3)position 是一個表示搜索開始位置的正整數(shù),默認為一。

          (4)occurrence定義了搜索模式的發(fā)生次數(shù),默認為一,

          (5)return_optionshi 是一個數(shù)字,表示該函數(shù)應該返回的值。該數(shù)字可以是0(表示開始匹配的位置)也可以是非0(表示匹配的結束位置)

          (6)match_option 是設置該函數(shù)匹配行為的參數(shù)

          Eg

          Select regexp_instr(‘orcale database 10g’,’a’,1,2) from dual;

          三:

          regexp_replace((search_string,pattern,[,position[,occurrence[,return_option [,match_option ]]]]);

          (1) :search_string是搜索值

          (2):parrern 是使用得正規(guī)表達式且其長度限制在512字節(jié)內

          (3)position 是一個表示搜索開始位置的正整數(shù),默認為一。

          (4)occurrence定義了搜索模式的發(fā)生次數(shù),默認為一,

          (5)return_optionshi 是一個數(shù)字,表示該函數(shù)應該返回的值。該數(shù)字可以是0(表示開始匹配的位置)也可以是非0(表示匹配的結束位置)

          (6)match_option 是設置該函數(shù)匹配行為的參數(shù)

          )

          Select last_name,regexp_replace(last_name,’e’,’E’) from duthors where author_id<3

          四:

          Regexp_substr(seach_string,pattern [,position ,[,occurrence [,match_option]]])

          (1) :search_string是搜索值

          (2):parrern 是使用得正規(guī)表達式且其長度限制在512字節(jié)內

          (3)position 是一個表示搜索開始位置的正整數(shù),默認為一。

          (4)occurrence定義了搜索模式的發(fā)生次數(shù),默認為一,

          (5)match_option 是設置該函數(shù)匹配行為的參數(shù)

          Eg:

          Select last_name,regexp_substr(last_name,’[rst][a-z]{4}’) from authors where length(regexp_sustr(last_name,[rst][a_z]{4}));

          主站蜘蛛池模板: 兖州市| 房产| 习水县| 兴安县| 成武县| 武强县| 双牌县| 大石桥市| 陇南市| 安远县| 波密县| 蛟河市| 贵溪市| 龙川县| 连州市| 隆安县| 饶平县| 徐闻县| 息烽县| 青河县| 卓尼县| 和田县| 合江县| 孟州市| 资溪县| 化德县| 伊宁市| 贡嘎县| 田东县| 盐城市| 同心县| 五莲县| 唐海县| 乳山市| 留坝县| 海安县| 霍山县| 吴川市| 米脂县| 科尔| 陆良县|