Lista specjalnych znaków w wyrażeniach regularnych w PHP
Jeśli ekranujemy zwykły znak - nic strasznego się nie stanie - nadal będzie oznaczał sam siebie. Wyjątkiem są cyfry, ich nie można ekranować.
Często pojawia się wątpliwość, czy dany znak jest specjalny. Niektórzy dochodzą do tego, że ekranują wszystkie podejrzane znaki jeden po drugim. Jednakże jest to zła praktyka (zaśmieca wyrażenie regularne odwrotnymi ukośnikami).
Znakami specjalnymi są: $ ^ . * + ? \
/ {} [] () |
Nie są znakami specjalnymi: @ : , ' " ;
- _ = < > % # ~ ` & !
Dany jest ciąg:
<?php
$str = 'a.a aba aea';
?>
Napisz wyrażenie regularne, które znajdzie ciąg
'a.a', nie przechwytując pozostałych.
Dany jest ciąg:
<?php
$str = '2+3 223 2223';
?>
Napisz wyrażenie regularne, które znajdzie ciąg
'2+3', nie przechwytując pozostałych.
Dany jest ciąg:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
'2+3', '2++3', '2+++3',
nie przechwytując pozostałych (+ może występować dowolna
liczba razy).
Dany jest ciąg:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
'23', '2+3', '2++3',
'2+++3', nie przechwytując pozostałych.
Dany jest ciąg:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
'*q+', '*qq+', '*qqq+',
nie przechwytując pozostałych.
Dany jest ciąg:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Napisz wyrażenie regularne, które znajdzie ciągi
w nawiasach kwadratowych i zastąpi je na '!'.