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
Nächste Überarbeitung
Vorhergehende Überarbeitung
ibex:kursinhalte:kursteil2:regex [2025/04/13 22:19]
52.15.95.169 alte Version wiederhergestellt (2025/03/20 17:35)
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:
-zurück zu [[ibex:kursinhalte:kursteil2:bhserver:php|PHP Übungen]] 
 ====== reguläre Ausdrücke ====== ====== reguläre Ausdrücke ======
  
 +<code>
  
 +Hi Martina kannst Du dein geschriebenen Kommentar für mich hier einfügen?
  
-https://www.w3schools.com/php/php_regex.asp 
- 
-{{ :ibex:kursinhalte:regexq.png |}} 
- 
-<code php> 
-$zeichenkette = "test fTest 123"; 
-$muster = "/[234]+/"; 
-$muster = "/* [A-Z].*/"; 
-$muster = "/*www*/"; 
-$matches=[]; 
- 
-$frage = preg_match($muster,$zeichenkette, $matches); 
-//$frage = preg_match($muster,$langerText, $matches); 
- 
- 
-if($frage){ 
-    print("mit ".$muster); 
-}else{ 
-    echo("ohne ".$muster); 
-} 
 </code> </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/attic/ibex/kursinhalte/kursteil2/regex.1744575546.txt.gz · Zuletzt geändert: 2025/04/13 22:19 von 52.15.95.169