Ruby: hexadezimal in regulären Ausdrücken

8

Ich muss eine md5-Prüfsumme in einem regulären Ausdruck in einem Ruby-Programm (eigentlich Rails) abgleichen. Ich habe irgendwo herausgefunden, dass ich hexadezimale Strings mit \h sequence abgleichen kann, aber ich finde den Link nicht mehr.

Ich benutze diese Sequenz und mein Code funktioniert in Ruby 1.9.2. Ich kann es sogar unter einfachem IRB arbeiten lassen (also ist es keine Rails-Erweiterung).

%Vor%

Aber meine IDE markiert diesen Ausdruck als falsch und ich kann keinen Verweis finden, der diese Sequenz zitiert.

Ist die \h Sequenz in Ruby Regex unter irgendeiner Umgebung / Version erlaubt oder sollte ich meiner Idee vertrauen und sie durch etwas wie [abcdef\d] ersetzen?

    
Fabio 11.07.2011, 22:19
quelle

2 Antworten

10

Ja ist es. In dem offiziellen Dokument finden Sie die vollständige Dokumentation für Regex in Ruby.

Beachten Sie, dass \h auch mit Großbuchstaben übereinstimmt, also entspricht es tatsächlich [a-fA-F\d]

    
Marc-André Lafortune 11.07.2011, 22:27
quelle
4

Nach ist dies Teil von oniguruma, was meiner Meinung nach Standard in Ruby 1.9 ist.

    
Ziggy 11.07.2011 22:29
quelle

Tags und Links