溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2023-03-16 10:47:41 來源:億速云 閱讀:164 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“怎么使用正則表達(dá)式保留部分內(nèi)容的替換功能”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么使用正則表達(dá)式保留部分內(nèi)容的替換功能”吧!

保留一處內(nèi)容

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

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

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

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

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

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

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

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

保留多處內(nèi)容

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

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

結(jié)果如下:

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

應(yīng)用場景

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

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

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

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

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

感謝各位的閱讀,以上就是“怎么使用正則表達(dá)式保留部分內(nèi)容的替換功能”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么使用正則表達(dá)式保留部分內(nèi)容的替換功能這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI