最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL正則表達(dá)式regexp_replace函數(shù)的用法實(shí)例

 更新時間:2022年09月29日 09:44:16   作者:msw、  
regexp_replace的使用非常靈活,且容易忘記,故做此筆記,下面這篇文章主要給大家介紹了關(guān)于MySQL正則表達(dá)式regexp_replace函數(shù)的用法實(shí)例,需要的朋友可以參考下

注:此函數(shù)為 MySQL8.0 版本新增,低于8.0版本沒有此函數(shù)。

regexp_replace(expr, pat, repl[, pos[, occurrence[, match_type]]])

用法

將字符串expr與pat指定的正則表達(dá)式匹配的匹配項(xiàng),替換為字符串repl,并返回結(jié)果字符串。如果expr、pat或repl為NULL,則返回值為NULL。

參數(shù)

  • expr:要替換的原始字符串,或者數(shù)據(jù)庫表指定的列。 
  • pat:要匹配的正則表達(dá)式,pat為空串時拋異常,Illegal argument to a regular expression。 
  • repl:將匹配的pat替換成的字符串。 
  • pos:expr開始搜索的位置。如果省略,則默認(rèn)值為 1。
  • occurrence:要替換哪個匹配項(xiàng)。如果省略,則默認(rèn)值為 0(表示“替換所有匹配項(xiàng)”)。
  • match_type:指定如何執(zhí)行匹配的任何或所有以下字符。(i:不區(qū)分大小寫的匹配 默認(rèn)。c:區(qū)分大小寫的匹配。m: 多行模式。n:. 字符匹配行終止符。默認(rèn)值是 .匹配在行尾停止。u: 僅 Unix 的行尾。只有換行符會被 、 和 match 運(yùn)算符識別為以行結(jié)尾.的^行 $。)

用法

示例:基本用法,替換全部數(shù)字變成#。

select regexp_replace('1abc2', '[0-9]', '#');

輸出:

 示例:pos用法,從字符串第二位開始搜索,替換全部數(shù)字變成#。

select regexp_replace('12abc', '[0-9]', '#', 2);

輸出:

格式化手機(jī)號,將+86 13811112222轉(zhuǎn)換為(+86) 138-1111-2222,’+‘在正則表達(dá)式中有定義,需要轉(zhuǎn)義。\\1表示引用的第一個組

SELECT regexp_replace('+86 13811112222','(\\+[0-9]{2})( )([0-9]{3})([0-9]{4})([0-9]{4})','(\\1)\\3-\\4-\\5',0);

結(jié)果:(+86)138-1111-2222

SELECT regexp_replace("123.456.7890","([[:digit:]]{3})\\.([[:digit:]]{3})\\.([[:digit:]]{4})","(\\1)\\2-\\3",0) ;
SELECT regexp_replace("123.456.7890","([0-9]{3})\\.([0-9]{3})\\.([0-9]{4})","(\\1)\\2-\\3",0) ;

結(jié)果:(123)456-7890

將字符用空格分隔開,0表示替換掉所有的匹配子串。

SELECT regexp_replace('abcdefg123456ABC','(.)','\\1 ',0) AS new_str FROM dual;

結(jié)果:a b c d e f g 1 2 3 4 5 6 A B C

SELECT regexp_replace('abcdefg123456ABC','(.)','\\1 ',2) AS new_str FROM dual;

結(jié)果:ab cdefg123456ABC

SELECT regexp_replace("abcd","(.*)(.)$","\\1",0) ;

結(jié)果:abc

SELECT regexp_replace("abcd","(.*)(.)$","\\2",0) ;

結(jié)果:d

SELECT regexp_replace("abcd","(.*)(.)$","\\1-\\2",0) ;

結(jié)果:abc-d

其他案例:

SELECT regexp_replace("abcd","(.)","\\2",1) 結(jié)果為"abcd",因?yàn)閜attern中只定義了一個組,引用的第二個組不存在。
SELECT regexp_replace("abcd","(.*)(.)$","\\2",0) 結(jié)果為"d"
SELECT regexp_replace("abcd","(.*)(.)$","\\1",0) 結(jié)果為"abc"
SELECT regexp_replace("abcd","(.*)(.)$","\\1-\\2",0) 結(jié)果為"abc-d"
SELECT regexp_replace("abcd","a","\\1",0),結(jié)果為” \1bcd”,因?yàn)樵趐attern中沒有組的定義,所以\1直接輸出為字符。

總結(jié)

到此這篇關(guān)于MySQL正則表達(dá)式regexp_replace函數(shù)用法的文章就介紹到這了,更多相關(guān)MySQL正則表達(dá)式regexp_replace函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

綦江县| 安阳县| 嘉祥县| 静宁县| 宣武区| 曲沃县| 吴川市| 清远市| 廊坊市| 九龙县| 自治县| 贡觉县| 文水县| 垫江县| 平阳县| 若尔盖县| 天全县| 阿拉善左旗| 乐至县| 固阳县| 灯塔市| 长垣县| 行唐县| 龙江县| 阜阳市| 浦东新区| 常宁市| 桂平市| 兴仁县| 忻州市| 泰州市| 金华市| 大厂| 德惠市| 左权县| 库尔勒市| 翼城县| 长泰县| 马鞍山市| 壶关县| 满洲里市|