2013-07-12 56 views
1

我有子例程,需要根據地址是IPV4還是IPV6來執行2個不同的操作。如果我只是模式匹配':'來確定地址是否爲IPV6?區分IPv4和IPV6正則表達式 - 匹配:是否足夠?

有沒有例外?

例如:1.1.1.1沒有冒號 1 :: 1具有:

還將爲子網上述工作: 例如:1.2.3.4/24 2002 :: 1.2.3.4/120

我不想爲IPV4或IPV6使用巨大的正則表達式模式匹配。 謝謝。

+0

什麼'120.0.0.1:8000'? –

+0

匹配點感覺更安全 –

+0

@JanDvorak如果你匹配的URL是正確的。不是爲了IP地址。 – Bart

回答

0

如果你想有一個完整的IPv6比賽,然後有一個完整的正則表達式 here

+2

雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供參考鏈接。你忘了引用參考嗎? –

+0

@Jan,使用的正則表達式太大了,因此我只是添加了鏈接。將確保下次引用。 – vyom