Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ibex:kursinhalte:kursteil2:regex [2025/04/13 22:19] 52.15.95.169 alte Version wiederhergestellt (2025/03/19 21:14) |
ibex:kursinhalte:kursteil2:regex [2025/04/18 10:30] (aktuell) 3.16.48.120 alte Version wiederhergestellt (2025/04/13 23:31) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== reguläre Ausdrücke ====== | ====== reguläre Ausdrücke ====== | ||
+ | < | ||
+ | Hi Martina kannst Du dein geschriebenen Kommentar für mich hier einfügen? | ||
+ | |||
+ | </ | ||
https:// | https:// | ||
{{ : | {{ : | ||
- | |||
- | <code php> | ||
- | $zeichenkette = "test fTest 123"; | ||
- | $muster = "/ | ||
- | $muster = "/* [A-Z].*/"; | ||
- | $muster = "/ | ||
- | $matches=[]; | ||
- | |||
- | $frage = preg_match($muster, | ||
- | //$frage = preg_match($muster, | ||
- | |||
- | |||
- | if($frage){ | ||
- | print(" | ||
- | }else{ | ||
- | echo(" | ||
- | } | ||
- | </ | ||
- | ---- | ||
- | |||
- | |||
- | |||
- | ==== Beispielcode ==== | ||
- | |||
- | |||
- | <code php> | ||
- | <?php | ||
- | // reguläre Ausdrücke (regular expressions = regex) | ||
- | // preg_match() | ||
- | // in einer Zeichenkette gefunden wird oder nicht | ||
- | |||
- | $str = " | ||
- | $pattern = "/ | ||
- | /** | ||
- | * /(Anfang regex) | ||
- | * ^ überprüft Anfang des Textes, hier: das 1. Zeichen darf keine Zahl haben | ||
- | * [] überprüft, | ||
- | * allerdings gilt das nur für das erste Zeichen und wenn man die | ||
- | * Klammer noch mal einfügt, für das zweite und so weiter | ||
- | * ^innerhalb der eckigen Klammern verneinend, in den | ||
- | * eckigen Klammern wird nun überprüft, | ||
- | * enthalten sind | ||
- | * 0-9 ... in diesem Fall soll überprüft werden, ob keine | ||
- | * Ziffern in der Zeichenkette sind | ||
- | * * hier: alle 0-n Zeichen zwischen erstem und letztem Zeichen | ||
- | * dürfen keine Zahl sein | ||
- | * $ überprüft das Ende einer Zeichenkette, | ||
- | * / Ende des regex | ||
- | * für den Ausdruck [0-9] kann man auch [\d] (digits) nehmen | ||
- | * statt [^\d] kann man auch [\D] nehmen, um Zahlen zu verneinen, | ||
- | * hier kann man überlegen, ob man nicht lieber 3 Zeichen statt einem | ||
- | * macht, dafür aber später den Code verstehen | ||
- | * (mehr davon Link: https:// | ||
- | */ | ||
- | // preg_match(muster, | ||
- | |||
- | if( preg_match($pattern, | ||
- | echo(" | ||
- | } | ||
- | else { | ||
- | echo(" | ||
- | } | ||
- | |||
- | $var = " | ||
- | echo ('< | ||
- | // bei '' | ||
- | // deswegen bei echo "" | ||
- | |||
- | |||
- | // Schreibe einen Regex, der eine beliebige Zeichenkette erkennt, | ||
- | // die mit einem Großbuchstaben beginnt. [A-Z] | ||
- | $str2 = " | ||
- | $pattern2 = "/ | ||
- | |||
- | if( preg_match($pattern2, | ||
- | echo(" | ||
- | } | ||
- | else { | ||
- | echo(" | ||
- | } | ||
- | |||
- | /** | ||
- | * wenn ich auf ein Symbol prüfen will, das schon als Befehl vergeben ist, | ||
- | * benutze ich Backslash, um das als | ||
- | */ | ||
- | echo ("< | ||
- | | ||
- | | ||
- | |||
- | if( preg_match($patternUml, | ||
- | | ||
- | } | ||
- | else { | ||
- | | ||
- | } | ||
- | |||
- | |||
- | echo ("< | ||
- | /** | ||
- | * prüfen, ob mehrere von einem vorkommt, z. B. www in URL | ||
- | */ | ||
- | | ||
- | | ||
- | |||
- | if( preg_match($patternURL, | ||
- | | ||
- | } | ||
- | else { | ||
- | | ||
- | } | ||
- | |||
- | // wenn man "/ | ||
- | // | ||
- | |||
- | echo ("< | ||
- | /** | ||
- | * prüfen einer E-Mail | ||
- | */ | ||
- | $mail = " | ||
- | | ||
- | |||
- | if( preg_match($patternURL, | ||
- | | ||
- | } | ||
- | else { | ||
- | | ||
- | } | ||
- | ?> | ||
- | |||
- | </ |