This is an old revision of the document!
Regular Expressions
Beschreibung von Text-Mustern. Zum Suchen, Extrahieren und Ersetzen von Text. Gibt es in (fast) allen Programmiersprachen und jedem besseren Text-Editor (z.B. Notepad++, VisualCode, vim, etc.)
Je nach Implementation gibt es kleine Unterschiede zwischen Programmiersprachen oder Text-Editoren.
Wichtigste Spezialzeichen
Wenn nicht speziell, steht ein Zeichen für sich selbst in einer regular Expression. Z.B. matcht /hallo/ nur genau “hallo”
.
steht für genau ein beliebiges Zeichen (ausser Zeilenumbruch)\.
steht für einen Punkt[abc246]
steht für genau ein beliebiges Zeichen in der Klammer[5-9e-k]
steht für genau ein Zeichen '5' bis '9' oder 'e' bis 'k'\d
Digit, Abkürzung für[0-9]
.\[
steht für die öffnende Klammer^
Start der Zeile (oder String)$
Ende der Zeile (oder String)
Quantoren:
*
beliebig viele der Expression davor (auch Null), greedy, d.h. match't so viel wie irgend möglich+
ein oder mehrere der Expression davor, greedy?
Null oder eins{7}
genau 7{4,7}
zwischen 4 und 7, greedy*?
beliebig viele, aber lazy (d.h. match't so wenig wie möglich). Ebenso??
,+?
und{4,7}?
.
Gruppen:
(
expr)
«speichert» den Match zur späteren Verwendung mit\1
oder$1
, je nach Engine. Es wird nach öffnender Klammer nummeriert.
Alternativen:
|
Die Expression davor, oder jene danach.
Ausprobieren
- https://regex101.com/ Verwenden Sie ECMAScript (JavaScript)
Links extrahieren
- Extrahieren Sie alle Links von folgendem Code-Schnipsel:
<a href='./68ac1106/spaceadventure.html'>./68ac1106/spaceadventure.html</a><br> <a href='./0475c543/mouseEffect.html'>./0475c543/mouseEffect.html</a><br> <a href='./76163dbd/Taschenrechner.html'>./76163dbd/Taschenrechner.html</a><br> <a href='./4b29d86a/index.html'>./4b29d86a/index.html</a><br><a href='./05c7c22f/wordle.html'>./05c7c22f/wordle.html</a><br> <a href='./4d4f79fa/index.html'>./4d4f79fa/index.html</a><br> <a href='./2750fa3e/index.html'>./2750fa3e/index.html</a><br><a href='./projects.html'>./projects.html</a><br>
- Vervollständigen Sie obige Links mit der vollständigen Adresse: https://ofi.tech-lab.ch/2022/EF05a/
- Im angezeigten Text soll die Pfadangabe und das .html verschwinden (also nur noch wordle anstatt ./05c7c22f/wordle.html)
Weiterführende Links
- Advanced stuff: http://rexegg.com/regex-best-trick.html