Ich lese eine Protokolldatei und ein Muster in der Datei übereinstimmen; und wenn es übereinstimmt, mache die Regex auf der Linie.Ruby Regex für Datum und Uhrzeit
f = File.open(file,"r")
f.seek(0,IO::SEEK_END)
while true do
select([f])
line = f.gets
if line =~ pattern
a = line.sub(/ .*$/, "")
Ich habe die obige Methode versucht und es schlägt aus irgendeinem Grund fehl.
So habe ich
"2017053007: 00: 02: INFO: Verarbeitung Schaufel: East3"
in die Leitung kommt nach dem Muster übereinstimmen. Sie müssen einfach "2017053007: 00: 02" mit dem Regex ausfiltern.
Dank
Was versuchen Sie eigentlich hier zu erreichen? Erhalten Sie einfach eine Liste aller Zeitstempel, wie '2017053007: 00: 02', in der Datei? Es sieht so aus, als ob Sie die Implementierung zu sehr kompliziert haben. –
Ich kopiere einfach eingefügt und es funktioniert '" 2017053007: 00: 02: INFO: Verarbeitung Bucket: East3 ".sub (/. * $ /," ")' –
Sie können nicht ** tun ** Regex ". Allerdings können Sie "** eine Regex verwenden". – sawa