REGEX in CMD mit findstr

Retsam-Master

Banned
Registriert
Jan. 2019
Beiträge
1.100
Hallo leute

Ich möchte über findstr eine bestimmte Zeile bzw. ein Teil der Zeile herausfiltern und als Variable haben.
nun ist es so das mein Regex zwar normal in einer Regex funktioniert aber mit findstr nicht.

zb. Email:test@hallo.de kann ich nicht nur test@hallo.de filtern.
mein code:
Code:
Email:(.*)
sollte theoretisch reichen.

Funktioniert aber nicht, scheint so als ob findstr mit () nicht klar kommt.
Was gibt es hier für eine Alternativlösung?
 
Cygwin-Tools und dann mit entsprechenden Unix-Befehlen ran, die das besser können als CMD. Die eingebeaute Powershell vielleicht noch als Alternative.

Hast Du daran gedacht, die () korrekt zu escapen?
 
DeusoftheWired schrieb:
Häää? ist ja auch korrekt so!
der "." ist in Regex ein Platzhalter
CMD hat eher mit >()< dem ein Problem
ohh mann... das sieht ja schon pervers aus :D

@PHuV
okaaay.... nur schon die installation ist sehr komisch.... will nicht wissen wie die bedienung ist.
 
Du hast eben einen "richtige" Unix-Konsole, mit der Du beispielsweise grep und Co. verwenden kannst. Gerade für Dateiverarbeitung ist bash und die entsprechenden Kommandos sehr mächtig und beherrscht auch entsprechendes RegEx. Weitere Alternative wäre Perl.
Ansonsten müssen () mit ^( und ^) escaped werden.
https://www.robvanderwoude.com/escapechars.php
 
PHuV schrieb:
Du hast eben einen "richtige" Unix-Konsole, mit der Du beispielsweise grep und Co. verwenden kannst.
und ich hab keine ahnung wie ich das verwende haha :D
 
Korrekt, findstr unterstützt nur ein kleines Regex-Subset und keine Gruppen, die mit Klammern gekennzeichnet werden.

Warum änderst du deine Regex nicht einfach so ab, dass sie nur E-Mail-Adressen matched? Das sollte nicht so schwer sein. Hier in diesem Beitrag findest du zum Beispiel eine Regex, die du mal testen könntest: https://stackoverflow.com/a/12374394
 
du meinst den hier?
Code:
[\.A-Z\-_][\.A-Z\-_]*@[\.A-Z\-_][\.A-Z\-_]*


1. ist der Regex falsch und würde nicht funktionieren
und 2. auch wen ich ihn korrigiere schaffts es findstr nicht.
das "Mail:" wird dennoch gelesen obwohl es nicht mal im parameter ist
Ergänzung ()

so.....
finstr listet die komplette Zeile
wen ich sowas mache:

Mail:balbla@blabla.bla

geht es nicht
wen ich sowas mache

Mail:
blabla@blabla.bla

geht es
kann man wenigstens das umgehen?
 
Zuletzt bearbeitet:
Zurück
Oben