欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Oracle中使用正則表達(dá)式

 更新時(shí)間:2022年05月05日 15:54:05   作者:springsnow  
這篇文章介紹了在Oracle中使用正則表達(dá)式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

從10g開(kāi)始,可以在查詢(xún)中使用

一、正則表達(dá)式:

1、REGEXP_LIKE :匹配

REGEXP_LIKE(source_string, pattern[, match_parameter]):返回滿(mǎn)足匹配模式的字符串

相當(dāng)于增強(qiáng)的like函數(shù)。

  • Source_string指定源字符表達(dá)式;
  • pattern指定規(guī)則表達(dá)式;
  • match_parameter指定默認(rèn)匹配操作的文本串。

其中 match_parameter參數(shù)都是可選的。

match_parameter的取值如下:

  • 'c' 說(shuō)明在進(jìn)行匹配時(shí)區(qū)分大小寫(xiě)(缺省值);
  • 'i' 說(shuō)明在進(jìn)行匹配時(shí)不區(qū)分大小寫(xiě);
  • 'n' 允許使用可以匹配任意字符的操作符;
  • 'm' 將x作為一個(gè)包含多行的字符串。
  • ‘x’ 忽略空白字符。
SELECT * FORM. tKHXX where REGEXP_LIKE(SJHM, '^[1]{1}[35]{1}[[:digit:]]{9}$'

2、REGEXP_REPLACE :替換

REGEXP_REPLACE(source_string,pattern,replace_string,position,occurtence,match_parameter):字符串替換函數(shù)
相當(dāng)于增強(qiáng)的replace函數(shù)。

  • Source_string指定源字符表達(dá)式;
  • pattern指定規(guī)則表達(dá)式;
  • replace_string指定用于替換的字符串;
  • position指定起始搜索位置;
  • occurtence指定替換出現(xiàn)的第n個(gè)字符串;
  • match_parameter指定默認(rèn)匹配操作的文本串
select length(regexp_replace('123-345-566', '[^-]', '')) from dual;

3、REGEXP_INSTR :位置

REGEXP_INSTR(source_string, pattern[, start_position[, occurrence[, return_option[, match_parameter]]]])該函數(shù)查找 pattern ,并返回該模式的第一個(gè)位置。
您可以隨意指定您想要開(kāi)始搜索的 start_position。

  • occurrence 參數(shù)默認(rèn)為 1,除非您指定您要查找接下來(lái)出現(xiàn)的一個(gè)模式。
  • return_option 的默認(rèn)值為 0,它返回該模式的起始位置;值為 1 則返回符合匹配條件的下一個(gè)字符的起始位置。
SELECT REGEXP_INSTR ('hello itmyhome', 'e') FROM dual

4、REGEXP_SUBSTR :提取

REGEXP_SUBSTR(source_string, pattern[,position [, occurrence[, match_parameter]]]):返回匹配模式的子字符串。

相當(dāng)于增強(qiáng)的substr函數(shù)。

  • Source_string指定源字符表達(dá)式;
  • pattern指定規(guī)則表達(dá)式;
  • position指定起始搜索位置;
  • occurtence指定替換出現(xiàn)的第n個(gè)字符串;
  • match_parameter指定默認(rèn)匹配操作的文本串。

其中position,occurtence,match_parameter參數(shù)都是可選的。

SELECT REGEXP_SUBSTR ('hello my phone is 520 ', '[0-9]+') FROM dual; --520

5、REGEXP_COUNT (Oracle 11g 新增) :計(jì)數(shù)

REGEXP_COUNT (source_char, pattern [, position [, match_parameter]])統(tǒng)計(jì)字符串出現(xiàn)的次數(shù)

select REGEXP_COUNT('123-345-566', '-') from dual;

二、預(yù)定義的 POSIX 字符簇

[:alpha:]:字母字符

[:lower:]:小寫(xiě)字母字符

[:upper:]:大寫(xiě)字母字符

[:digit:]:數(shù)字

[:alnum:]:字母數(shù)字字符

[:space:]:空白字符(禁止打?。?,如回車(chē)符、換行符、豎直制表符和換頁(yè)符

[:punct:]:標(biāo)點(diǎn)字符

[:cntrl:]:控制字符(禁止打?。?/p>

[:print:]:可打印字符

到此這篇關(guān)于在Oracle中使用正則表達(dá)式的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論