Wie kann ich mit IPv6-Adressen mit einem Perl-regex?

Also ich muss eine ipv6-Adresse, die möglicherweise oder möglicherweise nicht über eine Maske. Leider kann ich nicht einfach eine Bibliothek zum Parsen der Zeichenfolge.

Die bit-Maske ist leicht genug, in diesem Fall:

(?:\/\d{1,3})?$/

Der schwierige Teil ist den verschiedenen Formaten, die eine ipv6-Adresse. Es muss passen ::Rindfleisch,::, Rind::Rindfleisch, etc.

Ein update: ich bin fast da..

/^(\:\:([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

Ich bin, in diesem Fall beschränkt mit perl-regex.

  • Ist dieses Hausaufgaben? Oder warum können Sie nicht verwenden, eine Bibliothek und was macht Sie sagen, dass Sie nur auf "perl-regex"?
  • Die Sprache, die ich verwende, ist perl. Die änderungen, die erforderlich sind, damit die Verwendung von anderen Bibliotheken wäre mehr Arbeit. Definieren Hausaufgaben? Ich bin zu Hause und ich bin arbeiten. Es ist für eines der Projekte an dem ich arbeite - wenn du meinst für didaktische Zwecke, dann nicht.
  • "Die änderungen, die erforderlich sind, damit die Verwendung von anderen Bibliotheken wäre mehr Arbeit." -- Ich bezweifle es. Zumindest nicht auf lange Sicht. Generell Perl ohne Module vom CPAN, ist nur die halbe Sprache. Die Weigerung, sogar mit reinen Perl-Modulen und dann andere zu Fragen, nach Lösungen zu bereits gelösten Problemen scheint... ineffizient.
  • Was ändert sich? Es ist entweder use SomeModule oder Sie haben auf CPAN, laden Sie das Modul herunter und führen Sie eine kopieren und einfügen.
  • Gut, einer der coolen Dinge über perl ist es gibt Tausende von Möglichkeiten, Dinge zu tun, richtig? 🙂
  • In der Tat. Es ist nur so, dass manche Wege sind viel besser als andere.
  • Und im Idealfall diese Möglichkeiten sollten nicht zählen, andere zu Fragen, zu wiederholen Arbeit, die bereits geleistet wurde. Wenn Sie möchten, um einen anderen Weg finden, es zu tun, die Nüsse gehen, aber Sie fordern uns zu engagieren, nun auch.
  • Gee, es gibt eine Menge von kritischen Antworten hier. Ich kann verstehen, dass die Anforderung für die Verwendung von Modulen. In einem großen Unternehmen manchmal ein Skript braucht, um zu gehen auf einem bestimmten server und Sie haben zu betteln, borgen und stehlen Erlaubnis zu erhalten, diesen server zu verwenden. Erste root-Zugriff und die Installation von Modulen ist ausgeschlossen. Das sagte ich oft, dies zu umgehen, indem Sie einfach kopieren Sie das Modul an derselben dir wie das Skript.

InformationsquelleAutor imnotneo | 2009-11-26
Schreibe einen Kommentar