Introduktion till reguljära uttryck i PHP
Reguljära uttryck är kommandon för avancerad sökning och ersättning. De gör det möjligt att göra väldigt intressanta saker, men tyvärr är de ganska svåra att lära sig.
Det finns flera PHP-funktioner för att arbeta
med reguljära uttryck. Vi börjar bekanta oss
med dem med exemplet preg_replace. Denna
funktion tar först vad som ska ändras,
sedan - till vad, och den tredje parametern
är strängen där ersättningen ska göras:
<?php
preg_replace(vad som ska ändras, till vad, sträng);
?>
Samtidigt tar vår funktion den första parametern
inte bara en enkel sträng, utan ett reguljärt uttryck,
som representerar en sträng med ett kommandouppsättning,
placerad inuti hash-tecken #.
Dessa hash-tecken kallas avgränsare
för reguljära uttryck.
Efter avgränsarna kan man skriva modifierare - kommandon som ändrar de allmänna egenskaperna för det reguljära uttrycket.
Själva reguljära uttryck består av två typer av tecken: de som representerar sig själva och de kommando-tecken som kallas specialtecken.
Bokstäver och siffror representerar sig själva. I följande
exempel kommer vi med hjälp av ett reguljärt uttryck
att ersätta bokstaven 'a' med '!':
<?php
preg_replace('#a#', '!', 'bab'); // returnerar 'b!b'
?>
Men en punkt är ett specialtecken
och representerar vilket tecken som helst. I följande
exempel hittar vi en sträng med följande mönster:
bokstaven 'x', sedan vilket tecken som helst, sedan
åter bokstaven 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // returnerar '! eee'
?>
Given en sträng:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Skriv ett reguljärt uttryck som hittar strängarna
'ahb', 'acb', 'aeb'
genom mönstret: bokstaven 'a', vilket tecken som helst,
bokstaven 'b'.
Given en sträng:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Skriv ett reguljärt uttryck som hittar strängarna
'aeeb', 'adcb', 'axeb'
genom mönstret: bokstaven 'a', två valfria
tecken, bokstaven 'b'.