Du vælger en adskiller, f.eks. /
^ i starten angiver at det skal være begyndelsen på en streng
$ i slutningen angiver at det er slutningen af strengen
. angiver et hvilket som helst bogstav
+ efter et tegn angiver 1 eller flere
* efter et tegn angiver 0 eller flere
[] angiver en bogstavgruppe
() angiver en gruppe
i efter den sidste adskiller angiver at den matcher både store og små bogstaver
s angiver at . også matcher newlines (\n) hvilket ikke er tilfældet pr. default
? efter en gruppe, bogstavgruppe eller bogstav angiver at det er valgfrit
? efter * eller + angiver at preg ikke skal være grådig
| i en gruppe angiver et alternativ
Antag strengen:
Hej du! Du lugter!
hejs!
Her vil /he(y|j).*?du.*hejs!$/si matche hej, den matcher derefter det første "du" og hejs! vil matche fordi vi har angivet /s - havde mønsteret set sådan ud: /he(y|j).*du.*hejs!$/si ville den matche det 2. "du" (her er den grådig)
he(y|j) kunne også have været he[yj] - et bedre eksempel ville have været (goddag|hej) her er det enten goddag eller hej.
() kan du også referere til i en preg_replace med \\1 i replace-teksten...
Prøv at kigge på:
http://google.com/search?q=regular+expressions+tutorial+phpDu kan prøve at lege med
http://www.regexbuddy.com/ - Der findes andre også