找不到匹配以下字符串的正則表達式時遇到問題。包含元字符的正則表達式和匹配URL
Korben;http://feeds.feedburner.com/KorbensBlog-UpgradeYourMind?format=xml;1
一個問題是逃避問號。 Java的模式匹配器似乎並不接受\?
作爲有效的轉義序列,但它也無法與myregexp.com上的測試器一起使用。
這是我到目前爲止有:
([a-zA-Z0-9])+;http://([a-zA-Z0-9./-]+);[0-9]+
有什麼建議?
編輯:最初的意圖是匹配在第一個分號後可以找到的所有URL。
你也可以把 - 放在字符類的開頭。 – Kibbee 2010-03-26 00:57:39
感謝codeka和其他人回覆。經過一些測試後,以下內容應與所有網址匹配:([a-zA-Z0-9])+; http://([a-zA-Z0-9./\\-\\?=~] +) ; [0-9] + – 2010-03-26 01:09:46
您希望第一個加號*在圓括號內:'([a-zA-Z0-9] +)',而不是'([a-zA-Z0-9])+ 。另外,正如@DVK所指出的那樣,你不需要在字符類中轉義問號; '[a-zA-Z0-9 ./?-]'工作得很好。 – 2010-03-26 03:48:01