Rivin alku ja loppu PHP:n säännöllisissä lausekkeissa
On olemassa erikoismerkkejä, jotka osoittavat
rivin alun ^ tai rivin lopun $.
Katsotaan niiden toimintaa esimerkkien avulla.
Esimerkki
Tässä esimerkissä hakumalli on seuraava: korvaa
'aaa' merkillä '!' vain, jos se
sijaitsee rivin alussa:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
Tuloksena muuttujaan kirjoitetaan seuraava:
'! aaa aaa'
Esimerkki
Tässä esimerkissä hakumalli on seuraava: korvaa
'aaa' merkillä '!' vain, jos se
sijaitsee rivin lopussa:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
Tuloksena muuttujaan kirjoitetaan seuraava:
'aaa aaa !'
Esimerkki
Kun säännöllisen lausekkeen alussa on ^,
ja lopussa - $, tarkistamme tällä tavoin
koko merkkijonon vastaavuuden säännölliseen lausekkeeseen.
Seuraavassa esimerkissä hakumalli on seuraava:
kirjain 'a' toistuu kerran tai
useammin, korvaa koko merkkijono merkillä '!'
vain, jos se koostuu pelkistä kirjaimista 'a'.
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
Tuloksena muuttujaan kirjoitetaan seuraava:
'!'
Käytännön tehtävät
Annettu merkkijono:
<?php
$str = 'abc def xyz';
?>
Kirjoita säännöllinen lauseke, joka löytää ensimmäisen kirjainmerkkijonon.
Annettu merkkijono:
<?php
$str = 'abc def xyz';
?>
Kirjoita säännöllinen lauseke, joka löytää viimeisen kirjainmerkkijonon.
Annettu merkkijono:
<?php
$str = '$aaa$ $bbb$ $ccc';
?>
Kirjoita säännöllinen lauseke, joka löytää viimeisen kirjainmerkkijonon, joka on ympäröity dollarimerkeillä.