2011-08-20 264 views
1

您能否解釋下面的陳述?我認爲它被稱爲正則表達式,但我真的不確定。這些字符是什麼意思?

~<p>(.*?)</p>~si 

是什麼si(.*?)立場?

+0

http://www.regular-expressions.info/ – Mchl

回答

1

這就是所謂的正則表達式 - 簡稱regular expressions,這是字符串解析,操作和驗證標準。看看我鏈接到的網站上的參考部分,你就可以計算出正則表達式的功能。

4

發現一切<p>之間</p>不區分大小寫(i)(所以<P>也將工作),可能跨越多個行(s

4

其實,這就是所謂的regex,短的正則表達式,並具有語法起初看起來並不陌生,但很快就變成了第二性。

si是國旗:s代表「DOTALL」,這使得.(我將在一點解釋)比賽每一個字符,包括換行。 i代表「不區分大小寫」,這是不言自明的。

(.*?)部分這樣說:「任何字符(.)的每一個0或多次重複(*)匹配,並使其貪婪懶惰(?)即匹配儘可能少的字符可能」。

「匹配」是在您針對正則表達式檢查字符串時發生的。例如,你說<p>something</p>匹配給定的正則表達式。

你會發現@ Mchl的link關於正則表達式的一個很好的信息來源。

希望這會有所幫助。

+0

小挑剔 - '?'與貪婪相反。 '?'是懶/非貪心修飾符。 – AgentConundrum