W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
接下來的四個用于查找在某些內(nèi)容(但并不包括這些內(nèi)容)之前或之后的東西,也就是說它們像\b
,^
,$
那樣用于指定一個位置,這個位置應(yīng)該滿足一定的條件(即斷言),因此它們也被稱為零寬斷言。最好還是拿例子來說明吧:
(?=exp)
也叫零寬度正預(yù)測先行斷言,它斷言自身出現(xiàn)的位置的后面能匹配表達(dá)式 exp。比如\b\w+(?=ing\b)
,匹配以 ing 結(jié)尾的單詞的前面部分(除了 ing 以外的部分),如查找I'm singing while you're dancing.
時,它會匹配 sing 和 danc。
(?<=exp)
也叫零寬度正回顧后發(fā)斷言,它斷言自身出現(xiàn)的位置的前面能匹配表達(dá)式 exp。比如(?<=\bre)\w+\b
會匹配以 re 開頭的單詞的后半部分(除了 re 以外的部分),例如在查找 reading a book 時,它匹配 ading。
假如你想要給一個很長的數(shù)字中每三位間加一個逗號(當(dāng)然是從右邊加起了),你可以這樣查找需要在前面和里面添加逗號的部分:((?<=\d)\d{3})+\b
,用它對 1234567890 進(jìn)行查找時結(jié)果是 234567890。
下面這個例子同時使用了這兩種斷言:(?<=\s)\d+(?=\s)
匹配以空白符間隔的數(shù)字(再次強(qiáng)調(diào),不包括這些空白符)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: