所以我需要匹配一個ipv6地址,它可能有也可能沒有掩碼。不幸的是,我不能僅僅使用庫來解析字符串。如何將IPv6地址與Perl正則表達式匹配?
屏蔽位是很容易的,在這種情況下:
(?:\/\d{1,3})?$/
硬的部分是不同的格式的IPv6地址的。它需要匹配::牛肉,牛肉::,牛肉::牛肉等
更新:我幾乎沒有..
/^(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?$/i
我,在這種情況下只能使用Perl的正則表達式。
這是功課嗎?或者爲什麼你不能使用一個庫,以及是什麼讓你說你被限制爲「perl的正則表達式」? – innaM 2009-11-26 12:44:11
我使用的語言是perl。允許使用其他庫所需的更改將需要更多的工作。定義作業?我在家,我正在工作。這是我正在研究的項目之一 - 如果你的意思是教育目的,那麼不。 – imnotneo 2009-11-26 13:14:11
「允許使用其他庫所需的更改將會更有效。」 - 我對此表示懷疑。至少從長遠來看並非如此。一般來說,不使用CPAN模塊的Perl只是語言的一半。拒絕使用簡單的純Perl模塊,然後詢問別人解決以前解決的問題似乎......效率低下。 – tsee 2009-11-26 13:41:59