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

如何使用正則表達(dá)式保留部分內(nèi)容的替換功能

 更新時(shí)間:2023年03月16日 09:25:10   作者:遠(yuǎn)方在何處  
其實(shí)工作中一直在用到正則表達(dá)式,只是用來替換的操作顯然沒有那么多,今天偶然遇到,還是有點(diǎn)陌生的,這里記錄一下,下面這篇文章主要給大家介紹了關(guān)于如何使用正則表達(dá)式保留部分內(nèi)容的替換功能,需要的朋友可以參考下

使用正則表達(dá)式實(shí)現(xiàn)保留部分內(nèi)容的替換

可惜沒有如果,去替換時(shí)間對(duì)心的冷漠。

什么是真的念念不忘,不過就是舊情被替換了而已。

而夜幕,卻依舊如期降臨,深冬的風(fēng)替換曾經(jīng)的煙花三月,舉目四望,偌大的桌邊只我一人,空對(duì),一盞冰冷的茶。

對(duì)于查找替換大家可能都不陌生,基本上所有的編輯器都有這樣的功能。但是普通的查找替換肯定不能滿足用戶對(duì)于泛化查找的需求。于是有了基于正則表達(dá)式的查找替換。對(duì)于正則表達(dá)式的規(guī)則這里不再說明,如果不太清楚可以自行百度。

保留一處內(nèi)容

大家可以看這樣一個(gè)例子:如下圖,如果我想將所有的"第n章"替換為"第n節(jié)",那么如何替換?直接將"章"替換為"節(jié)",為了避免其他的"章"被替換掉,通常情況下我們需要一個(gè)一個(gè)進(jìn)行替換。如何避免這種情況呢?

我們可以將"第n章"替換為"第n節(jié)",但問題是n是變化的,所以替換時(shí)會(huì)用到正則表達(dá)式。例如正則表達(dá)式"第[0-9]+章"匹配的是我們想要替換的,但是替換的內(nèi)容是固定的,也就是說,中間的數(shù)字在替換時(shí)沒辦法保留。那么如何做到保留部分內(nèi)容的替換呢?

這就需要在正則表達(dá)式中進(jìn)行改進(jìn)了。為了保留某部分,通常情況下我們?cè)谡齽t表達(dá)式中使用()將我們要保留的內(nèi)容括住。如下,我們要保留的是中間的數(shù)字部分,在替換時(shí)使用$1將括號(hào)的內(nèi)容表達(dá)出來。$1可以認(rèn)為是一個(gè)變量,代表著()中的內(nèi)容。

全部替換的結(jié)果如下:

保留多處內(nèi)容

如圖,對(duì)于"1 Python 2 Java"這樣的內(nèi)容,要保留1和2,將Python和Java替換為C和C++,和上面說的一樣,使用()將保留的內(nèi)容括住,然后使用$1,$2分別代替第一個(gè)()和第二個(gè)()中的內(nèi)容。

結(jié)果如下:

應(yīng)用場(chǎng)景

看這樣一個(gè)例子,對(duì)于從網(wǎng)頁(yè)上復(fù)制過來的內(nèi)容,在VScode中所呈現(xiàn)的樣式和網(wǎng)頁(yè)中看到的不同,如圖:題號(hào)單獨(dú)一行,排版看起來不夠整齊。為了將題號(hào)放在題目前面,一個(gè)一個(gè)改有點(diǎn)累,所以決定使用正則表達(dá)式進(jìn)行全局替換。

在進(jìn)行替換時(shí),要考慮到共性與差異性。

共性:對(duì)于所有的數(shù)字題號(hào)來說,其后面都跟著一個(gè)換行符。差異性:對(duì)于題目中以數(shù)字結(jié)尾的選項(xiàng),同樣滿足共性,考慮利用題號(hào)前面的換行符,保持題號(hào)和選項(xiàng)的差異性。

總結(jié) 

到此這篇關(guān)于如何使用正則表達(dá)式保留部分內(nèi)容的替換功能的文章就介紹到這了,更多相關(guān)正則表達(dá)式保留部分內(nèi)容替換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ip138中各種客戶端驗(yàn)證js代碼

    ip138中各種客戶端驗(yàn)證js代碼

    包括ip驗(yàn)證,身份證驗(yàn)證,手機(jī)號(hào)碼驗(yàn)證,電話號(hào)碼,郵政編碼驗(yàn)證,域名驗(yàn)證等,其實(shí)好的代碼,都在應(yīng)用中,大家多去扒代碼吧。
    2009-12-12
  • Java正則表達(dá)式里隱藏的陷阱

    Java正則表達(dá)式里隱藏的陷阱

    正則表達(dá)式是一個(gè)很方便的匹配符號(hào),但要實(shí)現(xiàn)這么復(fù)雜,功能如此強(qiáng)大的匹配語法,就必須要有一套算法來實(shí)現(xiàn),而實(shí)現(xiàn)這套算法的東西就叫做正則表達(dá)式引擎,下面給大家分享藏在正則表達(dá)式里的陷阱,一起看看吧
    2021-06-06
  • 正則基礎(chǔ)之 \b 單詞邊界

    正則基礎(chǔ)之 \b 單詞邊界

    這篇文章主要介紹了正則基礎(chǔ)之 \b 單詞邊界,需要的朋友可以參考下
    2009-07-07
  • 詳解表單驗(yàn)證正則表達(dá)式實(shí)例(推薦)

    詳解表單驗(yàn)證正則表達(dá)式實(shí)例(推薦)

    這篇文章主要介紹了詳解表單驗(yàn)證正則表達(dá)式實(shí)例(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,特此分享到腳本之家平臺(tái)供大家參考
    2016-05-05
  • 正則表達(dá)式的優(yōu)化全面詳解( 三江小渡)

    正則表達(dá)式的優(yōu)化全面詳解( 三江小渡)

    最近經(jīng)常接觸的數(shù)據(jù)動(dòng)不動(dòng)都是幾G的量,所以滿腦子都是考慮的優(yōu)化兩個(gè)字,不過還好之前是搞算法競(jìng)賽的,效率這個(gè)問題也一直是做斗爭(zhēng)的對(duì)象,還算習(xí)慣吧,最近寫正則也比較多,所以參考參考書、博文、自己的經(jīng)驗(yàn)寫點(diǎn)總結(jié)性的優(yōu)化策略
    2012-09-09
  • Python正則表達(dá)式操作指南

    Python正則表達(dá)式操作指南

    這篇文章主要介紹了Python正則表達(dá)式操作指南的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • 正則表達(dá)式 表示 非指定字符串開頭的正則

    正則表達(dá)式 表示 非指定字符串開頭的正則

    非指定字符串開頭的正則,很多情況下需要用的到,需要的朋友可以參考下。
    2011-01-01
  • js用正則表達(dá)式控制價(jià)格輸入實(shí)現(xiàn)代碼

    js用正則表達(dá)式控制價(jià)格輸入實(shí)現(xiàn)代碼

    js用正則表達(dá)式控制價(jià)格輸入實(shí)現(xiàn)代碼,主要是限制用戶的輸入。
    2011-11-11
  • 正則表達(dá)式grep用法詳解

    正則表達(dá)式grep用法詳解

    grep是一種文本過濾工具,接下來通過本文給大家介紹正則表達(dá)式grep用法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • javascript 獲取url參數(shù)的正則表達(dá)式(用來獲取某個(gè)參數(shù)值)

    javascript 獲取url參數(shù)的正則表達(dá)式(用來獲取某個(gè)參數(shù)值)

    javascript 傳多個(gè)參數(shù)的正則表達(dá)式(用來獲取某個(gè)參數(shù)值) ,腳本之家之前發(fā)布通過函數(shù)獲取url參數(shù)的代碼不是正則表達(dá)式。
    2010-01-01

最新評(píng)論