2012-10-09 56 views
1

我正在使用這個(?<=Postcode:).*這是完美的,除了它還包括以下列表中的文本(li)我怎樣才能改變這個只包括找到「postcode」的行。Exact結果只是行/行的末尾

+1

輸入文字是怎樣的?你想要匹配/提取哪些信息? – Kent

+0

你用什麼正則表達式引擎,點匹配換行符? – Bergi

回答

0

像這樣的東西應該工作:

(?<=Postcode:)[\w\s]* 

這將匹配以下Postcode:所有字母數字字符和空格。它會在發現其他內容時停止(例如,<li>標記,我認爲這是您的「以下列表」的含義)。

說明:這部分正則表達式[...]是一個字符類。它將匹配裏面包含的字符集合中的任何內容。在上面的例子中,它匹配任意數量的字母數字字符和空格。如果你也想匹配,也就是說,-.,你可以這樣編輯:

(?<=Postcode:)[\w\s\-\.]* 

注意-.不得不逃走,因爲他們都是特殊字符:.匹配任何字符,並-在字符類內用於範圍,如[a-h0-9]

+0

這很酷,我希望能夠適應一些通用的東西。代碼工作完美。我用它爲縣,電話,國家,電網參考沒有問題。我只有一個問題,當它涉及到緯度50.33445 - -3.444678,並發現它在50點停止返回。我應該爲此打開另一個問題嗎? –

+0

@AndrewPerry,我更新了答案,以幫助解決這個問題,並解釋了更多的事情。 – dan1111

+0

丹超人 - 作品一種享受,解釋對我來說是一個尤里卡時刻!再次感謝 –