Регуляр ифодаларда белги тўпламларини инвертлаш
Квадрат қавс бошидаги шляпка ^ ёрдамида
исталган нарсани инвертлаш мумкин. Яъни,
агар, масалан, [ab] буйруғи
'a' ёки 'b' ҳарфини изласа,
[^ab] буйруғи эса 'a' ва
'b' дан бошқа барча белгиларни излайди.
Мисол
Ушбу мисолда излаш намунаси шундай кўринади:
'x' ҳарфи, сўнгра 'a' ҳарфи
эмас, 'b' эмас ва 'c' эмас,
сўнгра 'z' ҳарфи:
<?php
$str = 'xaz xbz xcz xez';
$res = preg_replace('#x[^abc]z#', '!', $str);
?>
Натижада ўзгарувчига куйидагилар ёзилади:
'xaz xbz xcz !'
Мисол
Ушбу мисолда излаш намунаси шундай кўринади:
'x' ҳарфи, сўнгра кичик лотин ҳарфи
эмас, сўнгра 'z' ҳарфи:
<?php
$str = 'xaz xbz x1z xCz';
$res = preg_replace('#x[^a-z]z#', '!', $str);
?>
Натижада ўзгарувчига куйидагилар ёзилади:
'xaz xbz ! !'
Амалий машқлар
Шаблон буйича сатрларни топадиган регуляр ифодани
ёзинг: '1' рақами, сўнгра 'e'
эмас ва 'x' эмас белги,
'2' рақами.
Шаблон буйича сатрларни топадиган регуляр ифодани
ёзинг: 'x' ҳарфи, сўнгра 2 дан
7 гача рақам эмас, 'z' ҳарфи.
Шаблон буйича сатрларни топадиган регуляр ифодани
ёзинг: 'x' ҳарфи, сўнгра катта лотин
ҳарфи эмас 1 ва кўпроқ марта,
'z' ҳарфи.
Шаблон буйича сатрларни топадиган регуляр ифодани
ёзинг: 'x' ҳарфи, сўнгра катта ва
кичик лотин ҳарфи эмас ва 1 дан 5 гача
рақам эмас 1 ва кўпроқ марта,
'z' ҳарфи.