2012-11-19 38 views

回答

0

它捕獲在標記<center>字符串center被捕獲的tags例如文本部分。

< # Match the literal < that denotes the start of a tag 
( # Start capture 
.* # Match everything 
? # Non-greed match 
) # Stop capture 
> # Match the literal > that denotes the end of a tag 
4

考慮到看看documentation, e.g. Perlretut

<相匹配的文字 「<」

. regex的特殊字符,除了新行的每個字符

*? ungreedy量詞匹配時,匹配0或更多,但儘可能少

>相匹配的文字「>」

(...)捕獲組

因此,<(.*?)>與「<」匹配到下一個「>」,並且由於括號內容,中間的內容存儲在第一個捕獲組中。

+0

輝煌,謝謝!將參考提供的鏈接,歡呼! – Aravind

+0

不錯的答案(最後。)所以,如果這是用於XML或HTML等,它會捕獲標籤名稱和開始標籤的任何屬性。它還會匹配並捕獲像HTML代碼中的
和自然結束標籤這樣的自閉標籤。如果有人愚蠢地將html標籤分成兩行,那麼它將無法正常工作(html),但對於這個正則表達式,這仍然可以。正則表達式捕獲的內容,無論是在<>標記分隔符內,都可以在$ 1代碼中使用。 – chris

相關問題