[linux] IPv6 in regex herkennen

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


Hoi,

Ik merk dat een IPv6 adres nog niet gebruikt kan worden in de awstats.pl
tool. (Niet in AllowAccessFromWebToFollowingIPAddresses tenminste.)

Ik denk dat ik wel een patch kan verzinnen om dat werkend te maken.

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.

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