RegExp-Kurs 04: Konkatenation, Alternation, Unterausdruecke

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
TuxPeter
Beiträge: 1966
Registriert: 19.11.2008 20:39:02
Lizenz eigener Beiträge: MIT Lizenz

Re: RegExp-Kurs 04: Konkatenation, Alternation, Unterausdruecke

Beitrag von TuxPeter » 11.05.2022 19:44:17

Danke für die Beispiele.

Was mich aber sehr irritiert:

Code: Alles auswählen

 find -name '*kunde*'
./schwaebische-kunde.txt
 find . -regex '.*kunde.txt'
./schwaebische-kunde.txt
 find . -regex '.*kunde*'
Das letzte Beispiel funktioniert nicht, noch viel weniger die Alternation. (mit find direkt im Verzeichnis, in Textdateien mit egrep schon!)
Ist aber momentan unwichtig.

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: RegExp-Kurs 04: Konkatenation, Alternation, Unterausdruecke

Beitrag von tobo » 11.05.2022 19:51:28

TuxPeter hat geschrieben: ↑ zum Beitrag ↑
11.05.2022 19:44:17
Was mich aber sehr irritiert:

Code: Alles auswählen

 find -name '*kunde*'
./schwaebische-kunde.txt
 find . -regex '.*kunde.txt'
./schwaebische-kunde.txt
 find . -regex '.*kunde*'
Was du suchst ist
./schwaebische-kunde.txt
und was du findest ist
./schwaebische-kunde
mit beliebig vielen e am Ende. Du musst den kompletten Dateinamen angeben, also hinten z.B. noch ".*" oder "\.txt" anhängen. Wenn du z.B. alles mit "Kunde" suchst, dann ".*Kunde.*"

TuxPeter
Beiträge: 1966
Registriert: 19.11.2008 20:39:02
Lizenz eigener Beiträge: MIT Lizenz

Re: RegExp-Kurs 04: Konkatenation, Alternation, Unterausdruecke

Beitrag von TuxPeter » 11.05.2022 20:57:05

O, endlich hab' ich's. Habe die Wildcards stillschweigend als auch in RegEx gültig angenommen - stimmt natürlich ganz und gar nicht. Danke! Punkt als beliebiges Zeichen, * als Wiederholung. Oder so. Hatten wir ja auch noch nicht.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: RegExp-Kurs 04: Konkatenation, Alternation, Unterausdruecke

Beitrag von Meillo » 11.05.2022 21:01:46

TuxPeter hat geschrieben: ↑ zum Beitrag ↑
11.05.2022 20:57:05
O, endlich hab' ich's. Habe die Wildcards stillschweigend als auch in RegEx gültig angenommen - stimmt natürlich ganz und gar nicht. Danke!
Entweder oder. Beides zugleich kann nicht funktionieren, weil das gleiche Zeichen (z.B. der Stern) zwei unterschiedliche moegliche Bedeutungen haette und das Programm dann nicht wissen kann welche es nehmen soll. ;-)
TuxPeter hat geschrieben: ↑ zum Beitrag ↑
11.05.2022 20:57:05
Punkt als beliebiges Zeichen, * als Wiederholung. Oder so. Hatten wir ja auch noch nicht.
Richtig. Das kommt beides dieses Wochenende.
Use ed once in a while!

Antworten