正在使用以下正則表達式來捕獲引用者url的不同部分。我想捕獲協議和域名,並在差異場景中使用它。從Referer獲取域名的正則表達式
Pattern pr=new Patters("^\w+://|[^\/:]+|[\w\W]*$");
但是Eclipse是給我和錯誤
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\)..
是新來的正則表達式。誰可以幫我這個事?
正在使用以下正則表達式來捕獲引用者url的不同部分。我想捕獲協議和域名,並在差異場景中使用它。從Referer獲取域名的正則表達式
Pattern pr=new Patters("^\w+://|[^\/:]+|[\w\W]*$");
但是Eclipse是給我和錯誤
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\)..
是新來的正則表達式。誰可以幫我這個事?
您正在向Pattern
構造函數提供一個字符串,因此您需要轉義反斜槓。
如:
Pattern pr = new Pattern("^\\w+://|[^/:]+|[\\w\\W]*$");
你的正則表達式是可能尚未完成 - 你需要「組」用方括號括方案和域部分:
Pattern pr = new Pattern("^(\\w+)://([^/:]+)");
我以後的一切忽視下一個冒號或斜槓 - 你說你只是想要計劃和領域。
Thannks很多。它的作品:) – rkhm 2012-02-04 11:36:14
正則表達式使用「\」(例如,\ w,\ W,\ d,\ D)作爲起始字符來定義正則表達式語法。 Java也使用「\」。 Java也允許通過添加一個額外的「\」來使用「\」,所以你最終會在你的代碼中使用「\\」,這將會跳過另一個反斜槓。
以防萬一您的解決方案不符合您的預期嘗試使用「regexpal.com」。 請記住,只要您希望在結果中使用單斜槓(「\」),請在代碼中使用雙斜線(「\\」)。
我有一個問題,所以我決定使用正則表達式 - 現在我有兩個問題... – Alnitak 2012-02-04 11:00:40
'[\ w \ W] *'將匹配任何東西,甚至是一個空字符串。 – Toto 2012-02-04 11:07:19
@ M42在這種情況下並不重要,因爲他沒有使用該字段。 – Alnitak 2012-02-04 11:08:46