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查詢(xún)今天、昨天、本周、本月、上月、今年、去年的時(shí)間以及計(jì)算時(shí)間之差
PostgreSQL提供了許多返回當(dāng)前日期和時(shí)間的函數(shù),下面這篇文章主要給大家介紹了關(guān)于postgresql查詢(xún)今天、昨天、本周、本月、上月、今年、去年的時(shí)間以及計(jì)算時(shí)間之差的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08

在Ubuntu中安裝Postgresql數(shù)據(jù)庫(kù)的步驟詳解

Postgresql 數(shù)據(jù)庫(kù)權(quán)限功能的使用總結(jié)

PostgreSQL拼接字符串的幾種方法簡(jiǎn)單示例

如何獲取PostgreSQL數(shù)據(jù)庫(kù)中的JSON值

15個(gè)postgresql數(shù)據(jù)庫(kù)實(shí)用命令分享

postgresql運(yùn)維之遠(yuǎn)程遷移操作