我對正則表達式有一個非常基本的問題。我想匹配,更換網址,像這樣的:簡單正則表達式中同一行上有多個匹配的問題
http://mydomain.com/image/13/imagetitle.html
對於我用下面的表達式:
/mydomain.com(.*)image\/(\d+)\/(.*).html/
這種模式工作正常居多,但它並不時出現多次出現在工作同一條線。所以這個工程:
This is my own image: http://mydomain.com/image/13/imagetitle.html
當包括跨線多次出現它的工作原理,以及:
This is my own image: http://mydomain.com/image/13/imagetitle.html
Yet I recommend this one as well: image: http://mydomain.com/image/15/imagetitle2.html
兩次出現匹配,並且正確地更換。然而,這只是取代了第一場比賽的時候有兩次出現在同一行:
This is my own image: http://mydomain.com/image/13/imagetitle.html, yet I recommend this one as well: image: http://mydomain.com/image/15/imagetitle2.html
我怎樣才能確保所有比賽被替換,無論新線?
你可以粘貼你用來做替換的代碼嗎? – VladFr 2011-05-21 12:19:18
實際上,從preg_replace()函數的角度來看,<不是換行符。這兩個例子都被視爲單行主題。如果你顯示你的替換代碼,它會更清晰。 – Kel 2011-05-21 12:35:33
@凱爾:我很確定實際文本在那個地方有一個換行符,但是操作系統把它改成了'
',因爲他錯誤地認爲換行符在發佈問題時會被規範化到一個空間。正如你指出的那樣,如果真的有'
'那裏,他不會有這個問題。 – 2011-05-21 19:03:43