Postgresql?REGEXP開(kāi)頭的正則函數(shù)用法圖文詳解
以字符串‘你好-Hello,123_世界World,456’來(lái)介紹下
REGEXP_MATCHES()、REGEXP_REPLACE()、REGEXP_SPLIT_TO_ARRAY()、REGEXP_SPLIT_TO_TABLE() 四個(gè)函數(shù)用法
REGEXP_MATCHES()
REGEXP_MATCHES()用于在文本字符串中執(zhí)行正則表達(dá)式匹配,并返回匹配的結(jié)果作為數(shù)組。
--從字符串中返回的結(jié)果只有小寫(xiě)英文
SELECT REGEXP_MATCHES('你好-Hello,123_世界-World,456', '[a-z]+', 'g');

--從字符串中返回的結(jié)果只有大寫(xiě)英文
SELECT REGEXP_MATCHES('你好-Hello,123_世界-World,456', '[A-Z]+', 'g');

--從字符串中返回的結(jié)果只有英文
SELECT REGEXP_MATCHES('你好-Hello,123_世界-World,456', '[a-zA-Z]+', 'g');
REGEXP_REPLACE()
REGEXP_REPLACE()用于在文本字符串中執(zhí)行正則表達(dá)式替換,并返回替換后的字符串。
--將字符串中數(shù)字替換為'*'
SELECT REGEXP_REPLACE('你好-Hello,123_世界World,456', '[0-9]', '*', 'g');
--將字符串中英文替換為'*'
SELECT REGEXP_REPLACE('你好-Hello,123_世界World,456', '[a-zA-Z]', '*', 'g');
--將字符串中漢字替換為'*'
SELECT REGEXP_REPLACE('你好-Hello,123_世界World,456', '[\u4e00-\u9fa5]', '*', 'g');
最近工作中遇到了處理字符串的問(wèn)題,正好做下補(bǔ)充:
譬如某個(gè)字段中存在垃圾數(shù)據(jù),數(shù)據(jù)內(nèi)容應(yīng)該是'abc+123'的格式,但有的數(shù)據(jù)只有一個(gè)'+',如果只用replace()替換,就可能污染了正常數(shù)據(jù),那么就可以用REGEXP_REPLACE()
--譬如臟數(shù)據(jù)是'+',需要處理成空字符串
SELECT regexp_replace('+', '^\+$', '');
REGEXP_SPLIT_TO_ARRAY()
REGEXP_SPLIT_TO_ARRAY()用于將文本字符串按照正則表達(dá)式進(jìn)行分割,并返回結(jié)果作為數(shù)組。
--以字符串中的標(biāo)點(diǎn)符號(hào)來(lái)分割
SELECT REGEXP_SPLIT_TO_ARRAY('你好-Hello,123_世界-World,456', '[-,_]+');
REGEXP_SPLIT_TO_TABLE()
REGEXP_SPLIT_TO_TABLE()用于將文本字符串按照正則表達(dá)式進(jìn)行分割,并返回結(jié)果作為表格。
--以字符串中的標(biāo)點(diǎn)符號(hào)來(lái)分割
SELECT REGEXP_SPLIT_TO_TABLE('你好-Hello,123_世界-World,456', '[-,_]+');
最后可以參考這篇文章學(xué)習(xí)正則表達(dá)式的語(yǔ)法
總結(jié)
到此這篇關(guān)于Postgresql REGEXP開(kāi)頭的正則函數(shù)用法的文章就介紹到這了,更多相關(guān)Postgresql REGEXP正則函數(shù)用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
查看PostgreSQL數(shù)據(jù)庫(kù)版本的方法小結(jié)
這篇文章主要給大家介紹了關(guān)于如何查看PostgreSQL數(shù)據(jù)庫(kù)的版本,查看PostgreSQL?數(shù)據(jù)庫(kù)的版本號(hào),可用方法很多,文中介紹了三種方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-12-12
PostgreSQL表操作之表的創(chuàng)建及表基礎(chǔ)語(yǔ)法總結(jié)
在PostgreSQL中創(chuàng)建表命令用于在任何給定的數(shù)據(jù)庫(kù)中創(chuàng)建新表,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL表操作之表的創(chuàng)建及表基礎(chǔ)語(yǔ)法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
postgresql 利用fdw來(lái)實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間數(shù)據(jù)互通(推薦)
這篇文章主要介紹了postgresql 利用fdw來(lái)實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間數(shù)據(jù)互通,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
詳解PostgreSQL?14.4安裝使用及一些安裝的異常問(wèn)題
這篇文章主要介紹了PostgreSQL?14.4的安裝以及使用以及一些安裝的異常,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
PostgreSQL連接數(shù)過(guò)多的原因分析與連接池方案
在 PostgreSQL 的生產(chǎn)運(yùn)維中,連接數(shù)過(guò)多是最常見(jiàn)且影響深遠(yuǎn)的性能問(wèn)題之一,本文將系統(tǒng)性地剖析 連接數(shù)過(guò)多的根本原因,詳解 PostgreSQL 連接機(jī)制與資源開(kāi)銷,并對(duì)比主流 連接池方案的原理、配置與適用場(chǎng)景,需要的朋友可以參考下2026-02-02
淺談PostgreSQL中的孤兒文件用法(orphaned data files)
這篇文章主要介紹了淺談PostgreSQL中的孤兒文件用法(orphaned data files),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSQL數(shù)據(jù)庫(kù)中to_timestamp函數(shù)用法示例
PostgreSQL 的 to_timestamp 函數(shù)可以將字符串或整數(shù)轉(zhuǎn)換為時(shí)間戳,這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫(kù)中to_timestamp函數(shù)用法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-08-08
PostgreSQL教程(十九):SQL語(yǔ)言函數(shù)
這篇文章主要介紹了PostgreSQL教程(十九):SQL語(yǔ)言函數(shù),本文講解了SQL語(yǔ)言函數(shù)基本概念、基本類型、復(fù)合類型、帶輸出參數(shù)的函數(shù)、返回結(jié)果作為表數(shù)據(jù)源等內(nèi)容,需要的朋友可以參考下2015-05-05

