[linux] Re: IPv6 in regex herkennen

Hugo van der Kooij hvdkooij op vanderkooij.org
Do Mrt 30 16:20:37 CEST 2006


On Thu, 30 Mar 2006, Hugo van der Kooij wrote:

> Ik zit alleen een beetje te zoeken naar een manier om een IPv6 adres of
> netwerk te herkennen met een reguliere expressie die niet idioot lang is.
>
> Voorbeeld adressen:
> 	2001:888:10fa::/64		(netwerk)
> 	2001:888:10fa::21		(host)
> 	fe80::210:dcff:fe57:d8d1	(host)
> 	2001:888:10fa::ca1:aba5		(host)
> 	2000::/3			(network)
>
> Iemand toevallig nog een goede brainwave?
>
> Ik kom op iets als:
>
> 	([A-Fa-f0-9]{1-4}:){1-7}([A-Fa-f0-9]{1-4}|:\//d)
>
> Maar ik denk dat ik de host entries hierboven niet allemaal vang. Die
> maffe dubbele punt kan namelijk ergens halverwege opduiken. (Gelukkig maar
> 1 keer.)
>
> Al met al weer een fikse hersenkraker.

Ik heb uiteindelijk iets gevonden in TCL: http://wiki.tcl.tk/15536

Maar hoe je dat omwerkt naar perl heb ik nog niet uitgedokterd. Perl noch
regex zijn dagelijks kost voor mij dus ik ben wat roestig.

Hugo.

-- 
	I hate duplicates. Just reply to the relevant mailinglist.
	hvdkooij op vanderkooij.org		http://hvdkooij.xs4all.nl/
		Don't meddle in the affairs of magicians,
		for they are subtle and quick to anger.



More information about the Linux mailing list