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: @ : , ' " ; - _ = < > % # ~ ` & !

Задание 1

Given sträng:

php<?php
  $str = 'a.a aba aea';
?>

Skriv ett reguljärt uttryck som hittar strängen 'a.a' utan att fånga de andra.

Задание 2

Given sträng:

php<?php
  $str = '2+3 223 2223';
?>

Skriv ett reguljärt uttryck som hittar strängen '2+3' utan att fånga de andra.

Задание 3

Given sträng:

php<?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).

Задание 4

Given sträng:

php<?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.

Задание 5

Given sträng:

php<?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.

Задание 6

Given sträng:

php<?php
  $str = '[abc] {abc} abc (abc) [abc]';
?>

Skriv ett reguljärt uttryck som hittar strängarna i hakparenteser och ersätter dem med '!'.