Oracle Regexp_Replace
SELECT regexp_replace('13,453,5', '([0-9]{2,3})', '''\1''') FROM dual;
SQL> SELECT regexp_replace('13,453,5', '([0-9]{2,3})', '''\1''') FROM dual;
REGEXP_REPLA
------------
'13','453',5
這裡的\1表示向後引用匹配
要講數字替換成前後均有單引號,正規表示式應該兩側都有括號, 否則,\1會被認為是普通字串。
後向引用
正規表示式的一個有用的特性是能夠儲存子表示式供以後重用;這也被稱為後向引用(在表 10 中對其進行了概述)。它允許複雜的替換功能,如在新的位置上交換模式或顯示重複出現的單詞或字母。子表示式的匹配部分儲存在臨時緩衝區中。緩衝區從左至右進行編號,並利用 \digit 符號進行訪問,其中 digit 是 1 到 9 之間的一個數字,它匹配第 digit 個子表示式,子表示式用一組圓括號來顯示。
接下來的例子顯示了通過按編號引用各個子表示式將姓名 Ellen Hildi Smith 轉變為 Smith, Ellen Hildi。
SELECT REGEXP_REPLACE(
'Ellen Hildi Smith',
'(.*) (.*) (.*)', '\3, \1 \2')
FROM dual
REGEXP_REPLACE('EL
------------------
Smith, Ellen Hildi
參考:https://oracle-base.com/articles/misc/regular-expressions-support-in-oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm
http://blog.itpub.net/30218320/viewspace-1724251/
SQL> SELECT regexp_replace('13,453,5', '([0-9]{2,3})', '''\1''') FROM dual;
REGEXP_REPLA
------------
'13','453',5
這裡的\1表示向後引用匹配
要講數字替換成前後均有單引號,正規表示式應該兩側都有括號, 否則,\1會被認為是普通字串。
後向引用
正規表示式的一個有用的特性是能夠儲存子表示式供以後重用;這也被稱為後向引用(在表 10 中對其進行了概述)。它允許複雜的替換功能,如在新的位置上交換模式或顯示重複出現的單詞或字母。子表示式的匹配部分儲存在臨時緩衝區中。緩衝區從左至右進行編號,並利用 \digit 符號進行訪問,其中 digit 是 1 到 9 之間的一個數字,它匹配第 digit 個子表示式,子表示式用一組圓括號來顯示。
接下來的例子顯示了通過按編號引用各個子表示式將姓名 Ellen Hildi Smith 轉變為 Smith, Ellen Hildi。
SELECT REGEXP_REPLACE(
'Ellen Hildi Smith',
'(.*) (.*) (.*)', '\3, \1 \2')
FROM dual
REGEXP_REPLACE('EL
------------------
Smith, Ellen Hildi
參考:https://oracle-base.com/articles/misc/regular-expressions-support-in-oracle
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm
http://blog.itpub.net/30218320/viewspace-1724251/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-2122367/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 正規表示式函式-REGEXP_REPLACE 使用例子Oracle函式
- 【轉】Oracle 正規表示式函式-REGEXP_REPLACE 使用例子Oracle函式
- oracle 按.反轉或按空格反轉之REGEXP_REPLACE應用Oracle
- Spark SQL,正則,regexp_replaceSparkSQL
- 【正則】oracle正規表示式函式之REGEXP_REPLACE和REGEXP_SUBSTROracle函式
- 【Hive】字串替換函式translate和regexp_replaceHive字串函式
- oracle DBLink oracleOracle
- Oracle 中$ORACLE_HOME/bin/oracle檔案Oracle
- oracle 修改ORACLE例項Oracle
- oracle安裝工具目錄常用解釋oracle wallet manager/Oracle Directory Manager /oracle net manager /Oracle Net ManagOracle
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- 【Oracle】oracle tablespace&datafile -- oracle表空間 分享[轉]Oracle
- cx_Oracle 連線 OracleOracle
- [Oracle]Oracle良性SQL建議OracleSQL
- oracle之 Oracle LOB 詳解Oracle
- [oracle]centos 7 安裝oracleOracleCentOS
- Oracle工具(Oracle Tools) – SQLT(SQLTXPLAIN)OracleSQLAI
- oracle clone oracle_home 方法Oracle
- oracle 817 archive err,oracle hangOracleHive
- 【Oracle】修改oracle監聽埠Oracle
- 【Oracle】Oracle常用EVENT之三Oracle
- 【Oracle】Oracle常用EVENT之二Oracle
- 【Oracle】Oracle常用EVENT之一Oracle
- Oracle Clusterware and Oracle Grid InfrastructureOracleASTStruct
- 【Oracle】--"任性"Oracle安裝之旅Oracle
- OracleOracle
- Oracle vs PostgreSQL DBA(21)- Oracle VPDOracleSQL
- 【Oracle】Oracle logminer功能介紹Oracle
- Oracle案例12——NBU Oracle恢復Oracle
- [Oracle] -- 配置Oracle環境變數Oracle變數
- 「Oracle」Oracle 資料庫安裝Oracle資料庫
- oracle 12c Deprecation of Oracle StreamsOracle
- Oracle HowTo:How to get Oracle SCN?Oracle
- Oracle Temporary Tables(Oracle 臨時表)Oracle
- ORACLE_BASE 與 ORACLE_HOMEOracle
- Oracle OAF(Oracle Application Framework) SampleOracleAPPFramework
- 20 Differences Between Oracle on NT and Oracle on UnixOracle
- Oracle技術專題 - Oracle瑣Oracle