天天看點

正則的分組及斷言

正則的分組及斷言

首先是 分組 :

就拿比對< title>xxx< /title>标簽來說,簡單的正則可以這樣寫:

<title>.*</title>
           

可以看出,上邊表達式中有兩個title,完全一樣,其實可以通過分組簡寫。表達式如下:

<(title)>.*</\1>
           

對于分組而言,整個表達式永遠算作第0組,在本例中,第0組是

<(title)>.*</\1>
           

,然後從左到右,依次為分組編号,是以,(title)是第1組。

然後是 斷言:

想指定xxx前肯定會出現< title>,就用正後發斷言,表達式:

(?<=<title>).*
           

向指定xxx後邊肯定會出現< /title>,就用正先行斷言,表達式:

.*(?=</title>)
           

兩個加在一起,就是

(?<=<title>).*(?=</title>)
           

如此便能直接比對傳回中間的xxx文字了,而不會将便簽也傳回作為字元串。

繼續閱讀