正則表達式匹配html標籤table

首先,要匹配任意內容“.”是不行的,因爲不匹配“\n”,取不到想要的內容,所以有了如下表達式:
    [\s\S]*

當然,你也可以用 “[\d\D]*”、“[\w\W]*” 來表示。

現在我們來匹配一個html標籤,匹配table如下:

<table.*?>[\s\S]*<\/table>

<table.*?>[\s\S]*?<\/table>

以上兩個表達式,一個加了"?"和一個卻不加“?”,那麼這有什麼區別呢?
我們知道“?”在正則表達式裏是一個通配符:匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。

在這裏,通過測試,我們得出這樣的結論:在不加“?”的情況下,在匹配下面一段內容的時候:

<table>這是第一個table</table>
我不是table裏的內容
<table>這是第二個table</table>
我也不是table裏的內容
<table>這是第三個table</table>

會把以<table>開始,</table>結束的內容都匹配出來

加了“?”之後,只匹配第n個匹配的內容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章