Аломати cap кулоҳ дар даруни маҷмӯаҳо дар Regular Expression-ҳои PHP
Чинон ки шумо медонед, аломати cap кулоҳ дар даруни []
инкорро ифода мекунад, агар дар аввали қавсҳо навишта шавад.
Пас, он дар даруни ин қавсҳо аломати махсус аст. Барои ба даст овардани аломати cap кулоҳ ҳамчун аломат,
зарур аст ки ё онро экран кард (экранировал кард) ё аз ҷои аввал ҷойгир накард.
Мисол
Дар мисоли зер шакли ҷустуҷӯ ин аст:
аломати аввал - ҳар чизе ҷуз '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 ! !'
Мисол
Ҳофиза кардани cap кулоҳ аз ҷои аввал зарур нест, танҳо бо истифода аз аломати каҷ (backslash) онро экран кунед (экранировал кунед), ва он худро ифода хоҳад кард:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Дар натиҷа ба тағирёбандаи зерин сабт мешавад:
'axx bxx ! !'
Масъалаҳои амалӣ
Сатр дода шудааст:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Regular Expression-ро нависед, ки сатрҳоро мувофиқи шакл пайдо мекунад: аломати cap кулоҳ ё аломати саг, пас ду ҳарфи лотинӣ.
Сатр дода шудааст:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Regular Expression-ро нависед, ки сатрҳоро мувофиқи шакл пайдо мекунад: НЕ аломати cap кулоҳ ва не аломати саг, пас ду ҳарфи лотинӣ.
Сатр дода шудааст:
<?php
$str = '^xx axx ^zz bkk';
?>
Regular Expression-ро нависед, ки сатрҳоро мувофиқи шакл пайдо мекунад: НЕ аломати cap кулоҳ, пас ду ҳарфи лотинӣ.