Ruby: hexadezimal in regulären Ausdrücken
Muss ich mit einer md5-Prüfsumme, die in einem regulären Ausdruck in einem Ruby (eigentlich Schienen -) Programm. Ich fand heraus, das ich irgendwo mithalten können hexadezimalen strings mit \h
Sequenz, aber ich kann nicht finden den link nicht mehr.
Ich bin über diese Sequenz und mein code ist in Ruby 1.9.2. Kann ich es machen das arbeiten auch unter einfachen IRB (es ist also nicht eine Rails-Erweiterung).
ruby-1.9.2-p180 :007 > "123abcdf" =~ /^\h+$/; $~
=> #<MatchData "123abcdf">
ruby-1.9.2-p180 :008 > "123abcdfg" =~ /^\h+$/; $~
=> nil
Jedoch mein IDE-mark, die Ausdruck als falsch und ich kann nicht finden jede Bezugnahme, die zitiert, dass die Sequenz.
Ist die \h
Sequenz, die legal in Ruby Regex unter jeder Umgebung/version oder sollte ich Vertrauen meine ide und ersetzen Sie es mit etwas wie [abcdef\d]
?
- Sie sollten prüfen /\A\h+\Z/ finden Sie unter sakurity.com/blog/2015/06/04/mongo_ruby_regexp.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist. Überprüfen Sie die offizielle doc die vollständige Dokumentation für regex in Ruby.
Beachten Sie, dass
\h
entsprechen Großbuchstaben auch, so ist es tatsächlich gleichwertig zu[a-fA-F\d]
[0-9]
Laut diese \h ist Teil der oniguruma, die ich glaube, ist standard in ruby 1.9.