在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 零寬斷言
后向引用
零寬斷言
如何寫出高效率的正則表達式
平衡組/遞歸匹配
字符轉義
元字符
測試正則表達式
什么是正則表達式
重復
貪婪與懶惰
字符類
常用正則表達式
詳細語法
表達式全集
處理選項
負向零寬斷言
反義
分枝條件
注釋
分組
入門

零寬斷言

接下來的四個用于查找在某些內(nèi)容(但并不包括這些內(nèi)容)之前或之后的東西,也就是說它們像\b,^,$那樣用于指定一個位置,這個位置應該滿足一定的條件(即斷言),因此它們也被稱為零寬斷言。最好還是拿例子來說明吧:

(?=exp)也叫零寬度正預測先行斷言,它斷言自身出現(xiàn)的位置的后面能匹配表達式 exp。比如\b\w+(?=ing\b),匹配以 ing 結尾的單詞的前面部分(除了 ing 以外的部分),如查找I'm singing while you're dancing.時,它會匹配 sing 和 danc。

(?<=exp)也叫零寬度正回顧后發(fā)斷言,它斷言自身出現(xiàn)的位置的前面能匹配表達式 exp。比如(?<=\bre)\w+\b會匹配以 re 開頭的單詞的后半部分(除了 re 以外的部分),例如在查找 reading a book 時,它匹配 ading。

假如你想要給一個很長的數(shù)字中每三位間加一個逗號(當然是從右邊加起了),你可以這樣查找需要在前面和里面添加逗號的部分:((?<=\d)\d{3})+\b,用它對 1234567890 進行查找時結果是 234567890。

下面這個例子同時使用了這兩種斷言:(?<=\s)\d+(?=\s)匹配以空白符間隔的數(shù)字(再次強調(diào),不包括這些空白符)。

上一篇:字符類下一篇:字符轉義