我正在尋找正則表達式模式來驗證我的HTML輸入具有正確的結構,並且(可能在第二步中)從中提取一些信息。正則表達式:模式匹配多行輸入
例的inputText:
<title>Example Title</title><br />
<link>Download:</link> <a href="URL">hier</a> | hoster1 <br />
<link>Download:</link> <a href="URL">hier</a> | hoster2 <br />
<link>Download:</link> <a href="URL">hier</a> | hoster3
標題,主機託管服務提供商,當然URL能改變的,很有意思趕上,所以我的嘗試是這樣的:
<title>([^<]+?)</title><br />\s<link>Download:</link> <a href="([^"]+?)">hier</a> \| ([^<]+?)<br />\s
這些羣體似乎有點愚蠢的,但我也試過(。*?),甚至懶惰模式,他只會匹配整條線。
眼下的第二部分(<鏈接>部分)匹配,但不與<標題>一個組合。我猜我的空白字符(\ s)不匹配一個新行?我怎樣才能檢查一個換行符?
可用鏈接的數量是動態的,所以我不知道有多少個<鏈接>標籤。我怎樣才能使用模式的後半部分作爲可重複的模式? Id喜歡做這樣的事情(這顯然不起作用這種方式):
[ <link>Download:</link> <a href="([^"]+?)">hier</a> \| ([^<]+?)<br />\s ]*
這一切都具有多選項設置操作(雖然我不是太肯定這是需要我想做什麼做做)。
我試了幾天不同的東西,現在沒有任何地方,我真的很感激正確的方向的幾個指針,謝謝。