Simbolių rinkinių invertavimas reguliariosiose išraiškose
Naudojant šlapelių ^ kvadratinių skliaustų
pradžioje galima invertuoti norimą. Tai yra,
jei, pavyzdžiui, komanda [ab] ieško
raidės 'a' arba 'b', tai komanda
[^ab] ieškos visų simbolių, išskyrus
'a' ir 'b'.
Pavyzdys
Šiame pavyzdyje paieškos šablonas atrodo taip:
raidė 'x', tada NE raidė 'a',
ne 'b' ir ne 'c', paskui raidė
'z':
<?php
$str = 'xaz xbz xcz xez';
$res = preg_replace('#x[^abc]z#', '!', $str);
?>
Dėlto į kintamąjį bus įrašyta taip:
'xaz xbz xcz !'
Pavyzdys
Šiame pavyzdyje paieškos šablonas atrodo taip:
raidė 'x', tada NE mažoji lotyniška
raidė, paskui raidė 'z':
<?php
$str = 'xaz xbz x1z xCz';
$res = preg_replace('#x[^a-z]z#', '!', $str);
?>
Dėlto į kintamąjį bus įrašyta taip:
'xaz xbz ! !'
Praktinės užduotys
Parašykite reguliariąją išraišką, kuri ras eilutes
pagal šabloną: skaitmuo '1', tada simbolis
ne 'e' ir ne 'x', skaitmuo '2'.
Parašykite reguliariąją išraišką, kuri ras eilutes
pagal šabloną: raidė 'x', tada NE
skaitmuo nuo 2 iki 7, raidė 'z'.
Parašykite reguliariąją išraišką, kuri ras eilutes
pagal šabloną: raidė 'x', tada NE
didelė lotyniška raidė nuo 1 ir daugiau
kartų, raidė 'z'.
Parašykite reguliariąją išraišką, kuri ras eilutes
pagal šabloną: raidė 'x', tada ne
didelė ir ne mažoji lotyniška raidė ir ne skaitmuo
nuo 1 iki 5 nuo 1 ir daugiau
kartų, raidė 'z'.