正則的分組及斷言
首先是 分組 :
就拿比對< title>xxx< /title>标簽來說,簡單的正則可以這樣寫:
<title>.*</title>
可以看出,上邊表達式中有兩個title,完全一樣,其實可以通過分組簡寫。表達式如下:
<(title)>.*</\1>
對于分組而言,整個表達式永遠算作第0組,在本例中,第0組是
<(title)>.*</\1>
,然後從左到右,依次為分組編号,是以,(title)是第1組。
然後是 斷言:
想指定xxx前肯定會出現< title>,就用正後發斷言,表達式:
(?<=<title>).*
向指定xxx後邊肯定會出現< /title>,就用正先行斷言,表達式:
.*(?=</title>)
兩個加在一起,就是
(?<=<title>).*(?=</title>)
如此便能直接比對傳回中間的xxx文字了,而不會将便簽也傳回作為字元串。