Das DFDE lernt RegExps

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Meillo
Moderator
Beiträge: 7510
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Das DFDE lernt RegExps

Beitrag von Meillo » 03.04.2022 18:59:23

Hoi Leute,

jetzt geht's los mit unserem RegExp-Kurs. :-)

In diesem Ueberblicksthread werde ich alle Kursteile verlinken. Jeweils am Wochenende werde ich einen neuen Teil als separaten Thread einstellen. In den Threads kann das auch nachgefragt und diskutiert werden.

Euch alle moechte ich bitten, die Inhalte ins Wiki zu uebernehmen und dort in geeigneter Weise zusammenzutragen.


Inhalt

Einfuehrung
01. Motivation
02. Metazeichen & Escaping

Extended Regular Expressions (EREs)
03. egrep
04. Konkatenation, Alternation, Unterausdruecke
05. Zeichenklassen
06. Punkt, Quantoren
07. Anker, Praezedenz, Zusammenfassung

Verwendung in Programmiersprachen
Python
Go
Pascal
C++/Qt



Vorrede

Regulaere Ausdruecke, Regular Expressions, RegExps, RegEx, Regechsen, REs -- das sind alles Synonyme fuer ein maechtiges Ausdrucksmittel bei der Arbeit mit Text. So abschreckend sie durch ihr kryptisches Erscheinen auf viele wirken, so hilfreich und arbeitserleichternd sind sie denjenigen, die sie verstehen und anzuwenden wissen.

Dieser Kurs soll den anderen, die bislang noch keine oder nur wenig Ahnung von REs haben, helfen, sie zu verstehen und zukuenftig selber auch anwenden zu koennen. Dafuer ist ein Lernprozess noetig. REs zu verstehen erfordert ein bestimmtes Denken und Betrachten, das dieser Kurs vermitteln will. Wie alles Neue ist das erstmal ein Aufwand und ein bisschen anstrengend, jedoch gewinnt man damit auch etwas. Eine gewisse Anstrengung ist halt noetig, um einen Erkenntnisgewinn zu erlangen. Damit will ich nicht sagen, dass das Lernen von REs besonders schwierig waere, aber man muss sich darauf einlassen, sich vom Bekannten loesen und offen fuer etwas Neues sein. Es wird sich lohnen.

Mein Ziel ist es, ein Verstaendnis von REs zu vermitteln. Dazu ist eine gewisse Theorie noetig, da die reine Praxis kein Verstehen schafft. Zugleich ist es mir wichtig, diese Theorie aus einem ganz einfachen Nachdenken ueber die Dinge aufzubauen. Von sprachwissenschaftlicher Theorie halte ich mich bestmoeglich fern. (Die wird aber spaeter noch nachgeliefert werden, um einen weiteren Betrachtungswinkel des gleichen Themas zu eroeffnen, und die Funktionsweise von RegExp-Engines aus informatischer Sicht verstaendlich zu machen.)

Da es mehrere Varianten von REs gibt, die sich oberflaechlich etwas unterscheiden, konzentriere ich mich darauf, die generelle Funktionsweise zu erklaeren, die in allen Faellen die gleiche ist. Hat man diese verstanden, so kann man die konkrete Umsetzung in der jeweiligen konkreten RE-Variante schnell anhand einer Manpage oder Webrecherche nachschlagen. Bei konkreten Beispielen orientiere ich mich primaer an EREs (POSIX Extended Regular Expressions), da diese, meiner Meinung nachm die am einfachsten verstaendliche und die konsistenteste Variante sind. Sie werden z.B. in den Programmen `egrep' (bzw. `grep -E') und `awk' verwendet.


Lizenz
Alle meine Inhalt sehe ich als gemeinfrei an, bzw. wenn eine Lizenz gewuenscht wird, dann stehen sie unter CC0. Ihr koennt damit also machen was ihr wollt.
Use ed(1) once in a while!

eggy
Beiträge: 3302
Registriert: 10.05.2008 11:23:50

Re: Das DFDE lernt RegExps

Beitrag von eggy » 03.04.2022 19:02:08

https://wiki.debianforum.de/Reguläre_Ausdrücke Literatur, Linkliste, Helferlein, etc

https://wiki.debianforum.de/Reguläre_Au ... scher_Kurs Zusammenfassung des praktischen Kurses

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

Re: Das DFDE lernt RegExps

Beitrag von Meillo » 19.04.2022 16:22:32

Kurz zur Info: Ostern und das Privatleben sind mir in den letzten Tagen etwas in die Quere gekommen :roll: darum ist die naechste Kurseinheit noch nicht veroeffentlicht. Habt noch ein bisschen Geduld. ;-)
Use ed(1) once in a while!

fischig
Beiträge: 2370
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Das DFDE lernt RegExps

Beitrag von fischig » 19.04.2022 18:58:08

Ich melde mich bis frühestens Juni ab. Ich habe z.Z. zuviel anderes um die Ohren.

Benutzeravatar
tegula
Beiträge: 418
Registriert: 04.06.2004 13:51:04
Lizenz eigener Beiträge: MIT Lizenz

Re: Das DFDE lernt RegExps

Beitrag von tegula » 29.05.2022 14:23:07

Meillo hat geschrieben: ↑ zum Beitrag ↑
03.04.2022 18:59:23
Euch alle moechte ich bitten, die Inhalte ins Wiki zu uebernehmen und dort in geeigneter Weise zusammenzutragen.
Wiki-Artikel zum Thema Reguläre_Ausdrücke --> Wiki-Artikel formatiert (Überschriften, Baustellenhinweis, Aufzählungen statt Blöcke für die Linklisten) und die noch fehlende Links auf Teil 4, 5 und 6 nachgetragen.
Wiki-Artikel zum Thema Reguläre_Ausdrücke_-_Lösungen --> Zugehörige Forums-Diskussionen verlinkt (Teil 1 - 4). Kapitel zu 4 -6: Überschriften, Verlinkung auf zugehörige Forums-Diskussionen und Aufgabenstellungen hinzugefügt bzw. von der Wiki-Seite "Reguläre Ausdrücke - praktischer Kurs“ kopiert.

Aus den Forums-Diskussionen die richtigen Lösungen ins Wiki (Wiki-Artikel zum Thema Reguläre_Ausdrücke_-_Lösungen) zusammenzutragen traue ich mir (zumindest momentan) nicht zu :oops:.

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

Re: Das DFDE lernt RegExps

Beitrag von Meillo » 31.05.2022 10:41:57

Zur weiteren Planung:

Das Kapitel EREs/egrep ist nun abgeschlossen.

eggy hat den Theorieteil zwar schon fast fertig, hat aber gerade keine freie Zeit ihn durchzufuehren, darum verschieben wir das noch ein bisschen.

Nach Pfingsten starten wir nun mit einem Kapitel in dem praktisch gezeigt wird wie man REs in diversen Programmiersprachen nutzt. Die Idee ist wiederum, im Wochenrhythmus neue Teile bereitzustellen und zwar je einen Teil zu einer Programmiersprache. Es geht nicht darum, die Programmiersprache zu lernen, sondern wie eine Person, die die Sprache schon kann, in ihr REs nutzen kann. Das muss nicht vollumfaenglich sein, sondern soll nur mal einen Einstieg bieten und ein Gefuehl dafuer vermitteln.

Hier seid ihr nun gefragt! Da es fuer jede Sprache immer wieder das gleiche Schema sein wird, wird der Aufwand recht ueberschaubar sein. Wir brauchen also Freiwillige, die hier Sprachen uebernehmen.

Die ersten zwei Freiwilligen habe ich schon gefunden:

- TRex mit Python
- paedubucher mit Go

Wer von euch kann eine weitere Sprache beitragen?

Antwortet einfach in den Thread. -- Wer zuerst kommt, mahlt zuerst. ;-)
Use ed(1) once in a while!

matthiasklein
Beiträge: 59
Registriert: 25.11.2010 20:56:44

Re: Das DFDE lernt RegExps

Beitrag von matthiasklein » 01.06.2022 08:22:26

Ich kann die Sprachen C++11 (std::regex) und C++/Qt (QRegularExpression) übernehmen.

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

Re: Das DFDE lernt RegExps

Beitrag von Meillo » 01.06.2022 09:11:40

matthiasklein hat geschrieben: ↑ zum Beitrag ↑
01.06.2022 08:22:26
Ich kann die Sprachen C++11 (std::regex) und C++/Qt (QRegularExpression) übernehmen.
Klasse! Vielen Dank. :THX:

Dann bist du als drittes nach TRex und paedubucher dran.



Btw: Falls jemand noch unsicher ist und zoegert, sich oeffentlich festzulegen, dann kann man mich auch per PM anschreiben.
Use ed(1) once in a while!

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

Re: Das DFDE lernt RegExps

Beitrag von TuxPeter » 03.06.2022 11:45:38

Hi,
habe gerade das Beispielprogramm für die Anwendung der bei FreePascal mitgelieferten Unit "RegExpr" um ein paar weitere Beispiele erweitert und zeige das dann auch gerne hier vor.

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

Re: Das DFDE lernt RegExps

Beitrag von Meillo » 03.06.2022 11:51:11

TuxPeter hat geschrieben: ↑ zum Beitrag ↑
03.06.2022 11:45:38
Hi,
habe gerade das Beispielprogramm für die Anwendung der bei FreePascal mitgelieferten Unit "RegExpr" um ein paar weitere Beispiele erweitert und zeige das dann auch gerne hier vor.
Klasse! :THX:

Dann bist du als Vierter dran.
Use ed(1) once in a while!

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

Re: Das DFDE lernt RegExps

Beitrag von Meillo » 20.06.2022 09:58:05

TuxPeter und matthiasklein tauschen ihre Wochen.

Naechste Woche kommt dann also TuxPeter mit FreePascal. Danach matthiasklein mit C++ und Qt.

Dann habe ich noch eine Person in der Hinterhand, die sich noch nicht ganz sicher ist.


Weitere Freiwillige waeren sehr erwuenscht. ;-)

Insbesondere Java, PHP und Javascript waeren toll, weil diese Sprachen sehr verbreitete sind. Koennte sich das jemand vorstellen? (Es muss auch nicht ganz so umfangreich ausgearbeitet sein wie TRex und paedubucher das gemacht haben.)

Wie alle, die einen Teil vorbereitet haben, bestaetigen werden, lernt man dabei selber auch eine Menge, selbst wenn man zuvor der Ansicht war sich schon auszukennen. ;-)
Use ed(1) once in a while!

Antworten