我目前被困在正則表達式中。我試圖獲取一個BBCode的,具有可選的PARAMS,也許不同符號的內容:正則表達式爲可選參數的BBCode
[tag]https://example.com/1[/tag]
[tag='https://example.com/2'][/tag]
[tag="http://another-example.com/whatever"][/tag]
[tag=ftp://an-ftp-host][/tag]
[tag='https://example.com/3',left][/tag]
[tag="https://example.com/4",right][/tag]
[tag=https://example.com/5][/tag]
[tag=https://example.com/i-need-this-one,right]http://example.com/i-dont-need-this-one[/tag]
第二屆PARAM正好可以向左或向右,如果這是送給我需要的URL從第一PARAM。否則,我需要標籤之間的一個。
作爲參數的url可以被包裝在'
或"
或不包含任何這些。
我現在的正則表達式是這樣的:
~\[tag(?|=[\'"]?+([^]"\']++)[\'"]?+]([^[]++)|](([^[]++)))\[/tag]~i
然而,這其中也包括在比賽名單的第二個PARAM和東西多了很多,我不想匹配。
有什麼建議嗎?
你能分別突出顯示每個實例和你喜歡匹配的順序嗎?這可能不像你想象的那麼簡單。 – sln 2014-09-24 22:53:10
每個第一個網址。就這樣。 – user2748261 2014-09-24 23:08:34