我目前正試圖從BBCode獲取一個URL。有它四種可能性,這就是我目前的問題:URL-BBCode正則表達式
[url]http://stackoverflow.com/[/url]
[url='http://stackoverflow.com/']http://stackoverflow.com/[/url]
[url="http://stackoverflow.com/"]http://stackoverflow.com/[/url]
[url=http://stackoverflow.com/]http://stackoverflow.com/[/url]
我兩者都需要。這是,我至今:
/\[url(?:\=\'([^\'"]+)\')?](.+?)\[\/url]/i
但這只是個案工作1 & 2.
編輯:
這工作得更好:
/\[url(?:\=(?:[\"|'])?(.*)(?:[^[]+)?)?\](.*)\[\/url\]/i
但仍不完美。
編輯:
我想,我明白了。這可能需要一些優化,但它似乎工作:
/\[url(?:\=("|\'|)?(.*)?\1)?\](.*)\[\/url\]/i
[REGEX for bbcode links + non-bbcode URLs]的可能重複(http://stackoverflow.com/questions/17151716/regex-for-bbcode-links-non-bbcode-urls) – PeeHaa
不完全,但接近 – user2557188