Match newline `\n` in ruby regex
Ich versuche zu verstehen, warum die folgenden false zurückgegeben: (** ich sollte haben legen "Ausgänge 0" **)
puts "a\nb" =~ Regexp.new(Regexp.escape("a\nb"), Regexp::MULTILINE | Regexp::EXTENDED)
Vielleicht jemand erklären könnte.
Ich versuche zu generieren, ein Regexp-von einem multi-line String, der mit der Zeichenfolge.
Vielen Dank im Voraus
InformationsquelleAutor Arth | 2012-09-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
puts
immer wiedernil
.Dein code sollte funktionieren, wenn auch langwierig.
=~
gibt die position der übereinstimmung, welche 0.Könnte man auch verwenden:
oder
Hinweis: Die
m
option ist nicht erforderlich, in diesem Beispiel aber zeigt, wie es verwendet werden, ohneRegexp.new
.Sie könnten dies tun:
!!("a\nb" =~ /a\sb/m)
Tun konnte! Überrascht es gibt keine eingebaute Funktion in der Zeichenfolge oder der Regexp-Klasse obwohl.
Die option
m
ist nicht erforderlich, in beiden Versionen. Beide\s
und\n
übereinstimmen\n
auch ohne es.Ich weiß. Ich wollte zeigen, dass Optionen, die Hinzugefügt werden kann, ohne mit
Regexp.new
.InformationsquelleAutor Brian Ustas
Wahrscheinlich
puts
verursacht diesmatched position 0 zurückgegeben wurde
Ahh, jetzt verstehe ich, denke ich, missverstanden dem = ~ - operator.
InformationsquelleAutor sumskyi