Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Reguläre Ausdrücke
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

Reguläre Ausdrücke für einzelne Zeichen




Um in einer Zeichenfolge nach diversen Zeichen zu suchen, müssen Sie den Suchausdruck in eckige Klammern setzen. Nur wenn Sie nach einem einzelnen Zeichen zusuchen, können Sie die eckigen Klammern weglassen. Wenn Sie mehrere Zeichen ohne eckige Klammern notieren, werden diese als Zeichenfolge interpretiert.

Im folgenden Beispiel werden die einzelnen Elemente des Arrays $marken nach dem Zeichen a durchsucht. Der zugehörige reguläre Ausdruck, der im Beispiel der Variablen $reg_muster zugewiesen und anschliessend der Funktion ereg() zur Weiterverarbeitung übergeben wird, ist also einfach a.


Beispiel



<?php
// Array
$marken = array(
                
"Puma",
                
"Adidas",
                
"Adobe",
                
"Macromedia",
                
"Microsoft"
                
);
$reg_muster "a";
foreach (
$marken as $eintrag) {
 if (
ereg($reg_muster,$eintrag)) {
     echo 
"Marke: " $eintrag " enthält das Suchmuster " $reg_muster "<br>";
 }
}
?>




Ausgabe



Marke: Puma enthält das Suchmuster a
Marke: Adidas enthält das Suchmuster a
Marke: Macromedia enthält das Suchmuster a




Einsatz von eckigen Klammern

Wenn Sie in der zu durchsuchenden Zeichenfolge nach einer Gruppe bestimmter Zeichen suchen wollen, werden diese in eckige Klammern eingeschlossen.

Mit dem regulären Ausdruck [PAM], den Sie im Beispiel der Variablen $reg_muster zuweisen können, finden Sie sämtliche Zeichenfolgen im Array $marken, die die Zeichen P, A oder M enthalten.



$reg_muster = "[PAM]";




Ausgabe



Marke: Puma enthält das Suchmuster [PAM]
Marke: Adidas enthält das Suchmuster [PAM]
Marke: Adobe enthält das Suchmuster [PAM]
Marke: Macromedia enthält das Suchmuster [PAM]
Marke: Microsoft enthält das Suchmuster [PAM]



Wenn Sie nach Zeichenbereichen suchen wollen, z.B. nach Buchstaben der ersten Hälfte des Alphabets oder nach Ziffern, markieren Sie den gewünschten Bereich durch das Anfangszeichen, ein Minuszeichen als Bindestrich und das Endzeichen.

Regulärer Ausdruck Bedeutung
"[A-Z]" Findet Grossbuchstaben A bis Z.
"[a-z]" Findet Kleinbuchstaben von a bis z.
"[0-9]" Findet Ziffern von 0 bis 9.
"[a-zA-Z]" Findet Klein- und Grossbuchstaben von A bis Z.
"[a-zA-Z0-9_]" Findet Buchstaben, Ziffern oder Unterstrich.


Wenn Sie nach einem der Zeichen + - ? . * ^ $ ( ) [ ] { } | \ suchen wollen, notiert Sie vor dem Zeichen einen umgekehrten Schrägstrich \ (Backslash).

Regulärer Ausdruck Bedeutung
"[0-9]\%" Findet Ziffern oder Prozentzeichen.
"[\[\]" Findet alles, worin eckige Klammern vorkommen.
"[0-9]\+\- " Findet Ziffern, Plus oder Minus.



Einsatz des Dachzeichen

Sie können auch eine Negativsuche veranlassen. Dazu notieren Sie das Dachzeichen ^ vor den gewünschten Zeichen oder Zeichenbereichen.


Regulärer Ausdruck Bedeutung
"[^a-zA-Z]" Findet alles, worin keine Buchstaben vorkommen.
"[^äöüÄÖÜ]" Findet alles, worin keine deutschen Umlaute vorkommen.


Eine solche Suche bewirkt, wie das folgende Beispiel zeigt, dass nur Stellen gefunden werden, die die angegebenen Zeichen nicht enthalten:


<?php
// Array
$marken = array(
                
"Puma",
                
"Adidas",
                
"Adobe",
                
"3M",
                
"Macromedia",
                
"111-222-333",
                
"Microsoft"
                
);
$reg_muster "[^a-zA-Z]";
foreach (
$marken as $eintrag) {
 if (
ereg($reg_muster,$eintrag)) {
     echo 
"Marke: " $eintrag " enthält das Suchmuster " $reg_muster "<br>";
 }
}
?>




Ausgabe



Marke: 3M enthält das Suchmuster [^a-zA-Z]
Marke: 111-222-333 enthält das Suchmuster [^a-zA-Z]




 


Reguläre Ausdrücke
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de