| |
| * Link führt ins Internet |
|
| |
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.
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]
|
|
|
|
|
|
|
|