Benutzer-Werkzeuge

Webseiten-Werkzeuge


ibex:kursinhalte:kursteil2:regex

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
ibex:kursinhalte:kursteil2:regex [2025/04/13 23:31]
18.221.11.104 alte Version wiederhergestellt (2025/03/20 13:43)
ibex:kursinhalte:kursteil2:regex [2025/04/14 01:19] (aktuell)
3.148.145.200 alte Version wiederhergestellt (2025/03/20 14:01)
Zeile 1: Zeile 1:
 ====== reguläre Ausdrücke ====== ====== reguläre Ausdrücke ======
  
-<code>+https://www.w3schools.com/php/php_regex.asp
  
-Hi Martina kannst Du dein geschriebenen Kommentar für mich hier einfügen?+{{ :ibex:kursinhalte:regexq.png?400 |}}
  
-</code> 
  
-https://www.w3schools.com/php/php_regex.asp+----
  
-{{ :ibex:kursinhalte:regexq.png?400 |}}+ 
 + 
 +==== Beispielcode ==== 
 + 
 + 
 +<code php> 
 +<?php 
 +// reguläre Ausdrücke (regular expressions = regex) 
 +// preg_match()  returnt true oder false, wenn ein Muster 
 +// in einer Zeichenkette gefunden wird oder nicht 
 + 
 +$str = "Mart1in"; // könnte aus Formular etc. kommen 
 +$pattern = "/^[^0-9]*$/"; // slash ist der Beginn und Ende des regex 
 +/** 
 + * /(Anfang regex) 
 + * ^ überprüft Anfang des Textes, hierdas 1. Zeichen darf keine Zahl haben 
 + * [] überprüft, ob eines der Zeichen innerhalb der Klammer enthalten ist, 
 + * 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, ob die Zeichen nicht  
 + * enthalten sind  
 + * 0-9 ... in diesem Fall soll überprüft werden, ob keine  
 + * Ziffern in der Zeichenkette sind 
 + * * hieralle 0-n Zeichen zwischen erstem und letztem Zeichen  
 + * dürfen keine Zahl sein 
 + * $ überprüft das Ende einer Zeichenkette, hierdas letzte Zeichen darf keine Ziffern haben 
 + * / 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://www.w3schools.com/php/php_regex.asp) 
 + */ 
 +// preg_match(muster, zeichenkette); <-Reihenfolge der Übergabeparameter 
 + 
 +if( preg_match($pattern, $str) ){ 
 +    echo("Zeichenkette keine Ziffern"); 
 +} 
 +else { 
 +    echo("Zeichenkette enthält Ziffern"); 
 +} 
 + 
 +$var = "ausprobieren"; 
 +echo ('<br>--------$var--------<br>'); //wenn man bei echo ""-Anführungsstriche nimmt, gibt er Inhalt v Variable aus, 
 +// bei ''-Anführungszeichen gibt er $var aus, nicht den Inhalt 
 +// deswegen bei echo "" angewöhnen 
 + 
 + 
 +// Schreibe einen Regex, der eine beliebige Zeichenkette erkennt, 
 +// die mit einem Großbuchstaben beginnt. [A-Z] 
 +$str2 = "tina"; 
 +$pattern2 = "/^[A-Z]/"; 
 + 
 +if( preg_match($pattern2, $str2) ){ 
 +    echo("Zeichenkette fängt groß an"); 
 +
 +else { 
 +    echo("Zeichenkette fängt nicht groß an"); 
 +
 + 
 +/** 
 + * wenn ich auf ein Symbol prüfen will, das schon als Befehl vergeben ist, 
 + * benutze ich Backslash, um das als  
 + */ 
 + echo ("<br>---------------<br>"); 
 + $strUml = "Özkan"; 
 + $patternUml = "/^[A-ZÖÄÜ]/"; 
 +  
 + if( preg_match($patternUml, $strUml) ){ 
 +     echo("Zeichenkette fängt groß an"); 
 + } 
 + else { 
 +     echo("Zeichenkette fängt nicht groß an"); 
 + } 
 + 
 + 
 + echo ("<br>---------------<br>"); 
 + /** 
 +  * prüfen, ob mehrere von einem vorkommt, z. B. www in URL 
 +  */ 
 + $strURL = "www.msp-world.de"; 
 + $patternURL = "/^w{3}/"; // es ist kein Zeichenvorrat, deswegen sind [] bei einem Zeichen nicht nötig 
 +  
 + if( preg_match($patternURL, $strURL) ){ 
 +     echo("beginnt mit www"); 
 + } 
 + else { 
 +     echo("beginnt nicht mit www"); 
 + } 
 + 
 + // wenn man "/^w{3,5}/" eingibt, kann man eine Untergrenze und Obergrenze festlegen 
 + //OHNE Leerzeichen hinter dem Komma 
 + 
 + echo ("<br>---------------<br>"); 
 + /** 
 +  * prüfen einer E-Mail 
 +  */ 
 + $mail = "www.msp-world.de"; 
 + $patternMail = "/^[A-Za-z0-9._%+-/]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/"; 
 + 
 + if( preg_match($patternURL, $strURL) ){ 
 +     echo("valide Mailadresse"); 
 + } 
 + else { 
 +     echo("invalide Mailadresse"); 
 + } 
 +?> 
 + 
 +</code>
/var/services/web/dokuwiki/data/pages/ibex/kursinhalte/kursteil2/regex.txt · Zuletzt geändert: 2025/04/14 01:19 von 3.148.145.200