Hallo Leute,
ist es möglich über_FileReadLine() eine bestimme Zeile mit dem Hash auszulesen, egal wo er steht, quasi das die Zeilen mit Kommentaren (#...) und leere Zeilen übersprungen werden?
Gruß Gremlin
Hallo Leute,
ist es möglich über_FileReadLine() eine bestimme Zeile mit dem Hash auszulesen, egal wo er steht, quasi das die Zeilen mit Kommentaren (#...) und leere Zeilen übersprungen werden?
Gruß Gremlin
Danke Andy für deinen Tip,
leider habe ich mit Regex keinerlei Erfahrung. Kannst Du mir ein Beispiel geben?
$hfile = FileOpenDialog('Hash-Datei auswählen',@MyDocumentsDir,'MD5-Hash (*.md5)')
$inhalt = FileRead($hfile)
MsgBox(64,'',StringRegExp('?:[^a-fA-F0-9]|\b)([a-fA-F0-9]{32})(?:[^a-fA-F0-9]|\b)',$inhalt));?????
Gruß Gremlin
Danke, das ist es.
Hab den Array noch in nen String gewandelt und über ne Messagebox ausgeben.
Vielen Dank Andy
Habe das Array gewählt, da in der Datei auch mehrere Hashes enthalten sein können. Ist nur eins drin, klappt die RegEx ja trotzdem.
Zur Erklärung:
"vor" und "hinter" der capturing Group, also dem zu findenden Hash ist eine "non capturing group" (?:[^a-fA-F0-9]|\b) welche folgendermaßen aufgebaut ist:
(?: non capturing group
[^ Zeichengruppe welche NICHT enthält:
a-fA-F0-9] Buchstaben von a bis f, A bis F und Ziffern von 0 bis 9 (also alles, was in einer hexadezimalen Darstellung vorkommen darf)
|\b oder eine Wortgrenze
die Capturing Group findet exakt 32 Buchstaben/Ziffern.
Die non capturing groups vor und hinter dem zu findenden Hash verhindern, dass mehr als 32 Zeichen lange Hex-Strings gefunden werden.