我遇到了在C#中設計正則表達式的問題。我必須解析嵌入了多個URL文本文檔,我不得不提取那些在C中設計正則表達式#
...url=http://www.cnn.com?id=abc,def&system=2&mode=2&quality=ade,url=http://www.bbc.com...
(^其實我已經加省略號表明的內容其本身而言,...不會在文本)
開始時部分很簡單,因爲我可以用正則表達式開始「URL =」,但是,我不能想出結束比賽
RegEx = (?<IgnoreFirst>[,]url=)(?<Url>[^,]+)
此正則表達式停止的方式在第一個逗號 - 所以就在'ABC'後,並沒有返回整個網址
RegEx = (?<IgnoreFirst>[,]url=)(?<Url>[^,]+)(?<IgnoreSecond>url)
這不起作用,因爲匹配在第一個逗號停止,然後查找找不到的'url'。從我做的一些閱讀看來,它似乎是一個回溯等問題,所以如果任何人都可以用正確的正則表達式來幫助我,那會很棒!
PS。雖然我們在這,但如果我想在質量之前提取網址,我該怎麼做?
作爲一個側面說明,請下載Expresso(免費應用程序)。它允許您以交互方式構建和測試.Net RegEx(而不是JScript RegEx)。 –
+1 Expresso。它的皮條客。 –