Симболот каретка во множества во регуларните изрази на PHP
Како што знаете, каретката внатре во [] прави
негација, кога е напишана на почетокот на заградите.
Значи, таа е специјален символ внатре во
овие загради. За да се добие каретката како симбол,
треба или да се ескрапира, или да се отстрани од
првата позиција.
Пример
Во следниот пример шаблонот за пребарување е:
првиот симбол е се освен 'd',
потоа две букви 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Како резултат во променливата ќе се запише следново:
'! ! ! dxx'
Пример
А сега шаблонот за пребарување е: првиот симбол
- е 'd' или '^', потоа две
букви 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Како резултат во променливата ќе се запише следново:
'axx bxx ! !'
Пример
Може да не се отстрани каректата од првата позиција, туку едноставно да се ескрапира со помош на обратна коса црта, и таа ќе го означува самиот симбол:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Како резултат во променливата ќе се запише следново:
'axx bxx ! !'
Практични задачи
Дадена е низата:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Напишете регуларен израз, кој ќе ги најде низите според шаблонот: каретка или симбол @, а потоа две латински букви.
Дадена е низата:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Напишете регуларен израз, кој ќе ги најде низите според шаблонот: НЕ каретка и не симбол @, а потоа две латински букви.
Дадена е низата:
<?php
$str = '^xx axx ^zz bkk';
?>
Напишете регуларен израз, кој ќе ги најде низите според шаблонот: НЕ каретка, а потоа две латински букви.