Lista över specialtecken i reguljära uttryck i PHP
Om man escape:ar ett vanligt tecken händer inget läskigt - det kommer fortfarande att representera sig självt. Undantaget är siffror, de kan inte escape:as.
Det uppstår ofta tvivel om ett visst tecken är specialtecken eller inte. Vissa går så långt att de escape:ar alla misstänkta tecken i följd. Det är dock dålig praxis (det skräpar ner det reguljära uttrycket med omvända snedstreck).
Följande är specialtecken: $ ^ . * + ? \
/ {} [] () |
Följande är inte specialtecken: @ : , ' " ;
- _ = < > % # ~ ` & !
Given sträng:
<?php
$str = 'a.a aba aea';
?>
Skriv ett reguljärt uttryck som hittar strängen
'a.a' utan att fånga de andra.
Given sträng:
<?php
$str = '2+3 223 2223';
?>
Skriv ett reguljärt uttryck som hittar strängen
'2+3' utan att fånga de andra.
Given sträng:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
Skriv ett reguljärt uttryck som hittar strängarna
'2+3', '2++3', '2+++3',
utan att fånga de andra (+ kan vara vilket
antal som helst).
Given sträng:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
Skriv ett reguljärt uttryck som hittar strängarna
'23', '2+3', '2++3',
'2+++3', utan att fånga de andra.
Given sträng:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
Skriv ett reguljärt uttryck som hittar strängarna
'*q+', '*qq+', '*qqq+',
utan att fånga de andra.
Given sträng:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Skriv ett reguljärt uttryck som hittar strängarna
i hakparenteser och ersätter dem med '!'.