IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → Oracle正則表達(dá)式中注意的問(wèn)題

Oracle正則表達(dá)式中注意的問(wèn)題

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  在Oracle 11g中,當(dāng)在正則表達(dá)式中用了中括號(hào)時(shí),某些符號(hào)會(huì)匹配不了,如[\s\d],要用類(lèi)似于[[:digit:][:blank:]]才能匹配成功,以下是我測(cè)試的例子:

  1 --中括號(hào)中的內(nèi)容為一杠及空格([- ]),匹配成功,結(jié)果為:SA01-2345 6789 0123 4567 8900

  2 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  3 'SA\d{2}[- ]\d{4}[- ]\d{4}[- ]\d{4}[- ]\d{4}[- ]\d{4}|SA\d{22}',

  4? 1, 1,'i')) as Reg_Str FROM dual;

  5

  6 --中括號(hào)中的內(nèi)容為([-[:blank:]]),匹配成功,結(jié)果為:SA01-2345 6789 0123 4567 8900

  7 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  8 'SA\d{2}[-[:blank:]]\d{4}[-[:blank:]]\d{4}[-[:blank:]]\d{4}[-[:blank:]]\d{4}[-[:blank:]]\d{4}|SA\d{22}',

  9? 1, 1,'i')) as Reg_Str FROM dual;

  10

  11 --如果將中括號(hào)換成小括號(hào),匹配成功,結(jié)果為:SA01-2345 6789 0123 4567 8900

  12 SELECT to_char(REGEXP_SUBSTR('SA01? -? 2345 6789 0123 4567 8900',

  13 '(SA)?\d{2}(\s|-)\d{4}(\s|-)\d{4}(\s|-)\d{4}(\s|-)\d{4}(\s|-)\d{4}|(SA)?\d{22}',

  14? 1, 1,'i')) as Reg_Str FROM dual;

  15

  16 --中括號(hào)中的內(nèi)容為([-[:digit:][:blank:]]),匹配成功,結(jié)果為:SA01-2345 6789 0123 4567 8900

  17 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  18 '(SA)?[-[:digit:][:blank:]]{22,50}',

  19? 1, 1,'i')) as Reg_Str FROM dual;

  20

  21 --中括號(hào)中的內(nèi)容為([-\d[:blank:]]),匹配失敗,結(jié)果為空

  22 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  23 '(SA)?[-\d[:blank:]]{22,50}',

  24? 1, 1,'i')) as Reg_Str FROM dual;

  25

  26 --中括號(hào)內(nèi)容如下,匹配失敗,結(jié)果為空

  27 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  28 '(SA)?[-\d\s]{22,50}',

  29? 1, 1,'i')) as Reg_Str FROM dual;

  30

  31 --中括號(hào)內(nèi)容如下,匹配失敗,結(jié)果為空

  32 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  33 '(SA)?[-\d ]{22,50}',

  34? 1, 1,'i')) as Reg_Str FROM dual;

  35

  36 --中括號(hào)中的內(nèi)容為([-\s]),匹配失敗,結(jié)果為空

  37 SELECT to_char(REGEXP_SUBSTR('SA01-2345 6789 0123 4567 8900',

  38 'SA\d{2}[-\s]\d{4}[-\s]\d{4}[-\s]\d{4}[-\s]\d{4}[-\s]\d{4}|SA\d{22}',

  39? 1, 1,'i')) as Reg_Str FROM dual;

  明白原因的麻煩在下面評(píng)論,謝謝!

關(guān)鍵詞標(biāo)簽:Oracle,正則表達(dá)式

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法