Liste over specielle symboler i regulære udtryk i PHP
Hvis man escape-r et almindeligt symbol - sker der ikke noget forskrækkeligt - det vil stadig betyde sig selv. Undtagelsen - cifre, dem kan man ikke escape-re.
Ofte opstår der tvivl om, hvorvidt et givet symbol er specielt. Nogle kommer så langt som at escape-re alle mistænkelige symboler i træk. Dette er dog en dårlig praksis (roder det regulære udtryk til med omvendte skråstreger).
Følgende er specialsymboler: $ ^ . * + ? \
/ {} [] () |
Følgende er ikke specialsymboler: @ : , ' " ;
- _ = < > % # ~ ` & !
Givet en streng:
<?php
$str = 'a.a aba aea';
?>
Skriv et regulært udtryk, der finder strengen
'a.a', uden at fange de andre.
Givet en streng:
<?php
$str = '2+3 223 2223';
?>
Skriv et regulært udtryk, der finder strengen
'2+3', uden at fange de andre.
Givet en streng:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
Skriv et regulært udtryk, der finder strengene
'2+3', '2++3', '2+++3',
uden at fange de andre (+ kan være et vilkårligt
antal).
Givet en streng:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
Skriv et regulært udtryk, der finder strengene
'23', '2+3', '2++3',
'2+++3', uden at fange de andre.
Givet en streng:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
Skriv et regulært udtryk, der finder strengene
'*q+', '*qq+', '*qqq+',
uden at fange de andre.
Givet en streng:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Skriv et regulært udtryk, der finder strengene
i kantede parenteser og erstatter dem med '!'.