Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. IT-Berufe-Podcast Podcast
  4. Reguläre Ausdrücke – IT-Berufe-Podcast #160
Reguläre Ausdrücke – IT-Berufe-Podcast #160

Reguläre Ausdrücke – IT-Berufe-Podcast #160

IT-Berufe-Podcast vor 5 Jahren
Zu Sammlung hinzufügen

Du hast noch keine Sammlungen.

Herunterladen (rechte Maustaste) Teilen Fundstellen Kommentare
0:00
53:49
Um reguläre Ausdrücke - das Schweizer Taschenmesser für ITler -
geht es in der einhundertsechzigsten Episode des
IT-Berufe-Podcasts. Inhalt Ich schwärme immer mal wieder von
regulären Ausdrücken. Das liegt wohl einfach daran, dass ich fast
täglich mit ihnen arbeite. Sie sind einfach so unglaublich
vielseitig verwendbar und machen ITlern das Leben leichter - wenn
man sie beherrscht. Nicht umsonst gibt es diesen "Witz": Ich hatte
ein Problem und versuchte es mit regulären Ausdrücken zu lösen. Nun
habe ich zwei Probleme. In den Händen eines erfahrenen Anwenders
sind reguläre Ausdrücke allerdings äußerst hilfreich. Sinn
regulärer Ausdrücke Reguläre Ausdrücke dienen der Mustererkennung
in Zeichenketten und sind quasi Platzhalter on steroids. Statt der
einfachen Platzhalter wie * oder ? z.B. in Dateinamen, gibt es
viele verschiedene Platzhalter, Quantifizierer und weitere Regeln,
um Muster in Texten zu definieren. Nach diesen Mustern kannst du
suchen oder du kannst sie zum Ersetzen von Inhalten benutzen.
Teilmuster lassen sich gruppieren und beim Ersetzen
wiederverwenden. So gut wie jede Programmiersprache enthält eine
eingebaute Unterstützung für reguläre Ausdrücke. Jeder vernünftige
Texteditor unterstützt reguläre Ausdrücke beim Suchen und Ersetzen
genauso wie eine gute Shell (z.B. Bash oder PowerShell).
Grundlegende Muster konkreten Zeichen(-folgen): hallo Bereiche: [],
z.B. [a-z], [0-9], [aeiou] Negation mit ^, z.B. [^abc]
Zeilenanfang: ^ (nicht mit der Negation verwechseln!) Zeilenende: $
Platzhalter für ein beliebiges Zeichen: . Alternativen: A|B
Quantifizierer (stehen hinter dem Muster) einmal oder keinmal
(0..1): ? keinmal, einmal oder mehrmals (0..n): * einmal oder
mehrmals (1..n): + genaue Anzahl: {8}, {2,5} (2 bis 5 mal) Gruppen:
(), Referenz mit $1 Escapen von besonderen Zeichen (insb. alle
obigen): \ Anwendungsfälle aus meiner Praxis Reguläre Ausdrücke
gehören in den Werkzeugkasten jedes ITlers! Egal ob
Anwendungsentwicklung oder Systemadministration, reguläre Ausdrücke
können vielfältig eingesetzt werden. In der Linux-Administration
können z.B. Black- und Whitelists für Hostnamen mit regulären
Ausdrücken definiert werden. Die Apache-Konfiguration verwendet
ebenfalls reguläre Ausdrücke. Auf der Linux-Kommandozeile kannst du
mit grep in Dateien nach regulären Ausdrücken suchen. sed
ermöglicht dir die Massenverarbeitung von Dateien. Das Suchen und
Ersetzen im vi wird standardmäßig auch mit regulären Ausdrücken
gemacht und du kannst sogar mit ihnen navigieren ($ springt z.B.
zum Ende der Zeile). Suchen und Ersetzen in Dateien Listen
umformatieren Nachname/Vorname zu Vorname/Nachname Anfang oder Ende
von Zeilen manipulieren Markdown in HTML und umgekehrt Feldnamen
mit public String ; umschließen Batchdatei generieren zum
Verschieben von Dateien Whitespace trimmen UUIDs/Domains/Mails in
Text/Logs finden Konkrete Beispiele Gerade vor wenigen Tagen hatte
ich die - eigentlich triviale - Aufgabe, ein paar Dateien
umzubenennen, die ein bestimmtes Präfix hatten. Dieses Präfix
sollte ausgetauscht werden. Anstatt die Dateien per Hand
umzubenennen (oder die entsprechende Shell-Funktion zu nutzen ;-)
), habe ich mir mit einem simplen regulären Ausdruck in wenigen
Sekunden ein Shell-Script gebaut, das die Aufgabe für mich löst.
Basis war die Liste der Dateien, die ich in der PowerShell mit dir
| ac liste.ps1 erstellt habe. prefix-Datei1.txt prefix-Datei2.txt
... prefix-Datei100.txt Mit dem Suchen-/Ersetzen-Muster
/^(prefix-(.*))$/move $1 neuerPrefix-$2/g im Vim wurde daraus: move
prefix-Datei1.txt neuerPrefix-Datei1.txt move prefix-Datei2.txt
neuerPrefix-Datei2.txt ... move prefix-Datei100.txt
neuerPrefix-Datei100.txt Die Datei konnte ich dann einfach mit
.\liste.ps1 ausführen und war fertig! UUIDs suchen Text: Text mit
UUIDs wie z.B. 550e8400-e29b-11d4-a716-446655440000 mittendrin
RegEx: [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}
Suchergebnis: 550e8400-e29b-11d4-a716-446655440000 E-Mail-Adressen
suchen Text: Stefan Macke (mail@example.com) hat einen Podcast.
RegEx: [a-z]+@[a-z]+\.[a-z]{2,3} (nicht ausreichend für echte
Mails!) Suchergebnis: mail@example.com Vor-/Nachnamen vertauschen
Text: Stefan Macke RegEx: (.+) (.+) Ersetzen durch: $2, $1
Ergebnis: Macke, Stefan Trailing Whitespace entfernen Text: Zeile
mit Leerzeichen am Ende RegEx: +$ Ersetzen durch: `` Ergebnis:
Zeile mit Leerzeichen am Ende Aus Zeilen Markdown-Aufzählungen
machen Text: Listenpunkt 1 RegEx: ^ Ersetzen durch: * (Asterisk
muss ggfs. escapet werden) Ergebnis: * Listenpunkt 1 Aus Namen
Java-Attribute machen Text: alterDerPersonInJahren RegEx: (.+)
Ersetzen durch: private Integer $1; Ergebnis: private Integer
alterDerPersonInJahren; Aus HTML-Links Markdown machen Text:
IT-Berufe-Podcast RegEx: ([^
Episode melden

„Reguläre Ausdrücke – IT-Berufe-Podcast #160“

Worum geht es? Danach fragen wir noch nach dem Grund.

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz