PHP regulýar ifadelerinde nyşan toparlary
Birwagtda tutuş nyşan toparlaryny saýlamaga mümkinçilik berýän ýörite buýruklar bar. Buýruk
\d 0-dan 9-a çenli san manysyny aňladýar.
\w buýrugy san, latyn harpyny ýa-da aşaky synyryş nyşanyny aňladýar. \s buýrugy
bosluk ýa-da bosluk nyşanyny aňladýar:
bosluk, setir göçürmek, tabelýasiýa. Buýrugyň manysyny uly
harp bilen ýazmak bilen tersine öwürmek bolýar: mysal üçin, \d san bolsa,
\D - san däldir.
Mysal
Ähli sanlary tapalyň:
<?php
$str = '1 12 123';
$res = preg_replace('#\d#', '!', $str);
?>
Netijede üýtgeýjä şu ýazylar:
'! !! !!!'
Mysal
Gaýtalamak operatorlary topar-buýruklary
bir tutuşlyk hasaplaýarlar, ýagny toparlaýjy ýaýlary
gerek däldir. Indiki mysalda gözleg şablon
şeýle görünýär: 0-dan 9-a çenli san
bir gezek ýa-da has köp gezek:
<?php
$str = '1 12 123 abc @@@';
$res = preg_replace('#\d+#', '!', $str);
?>
Netijede üýtgeýjä şu ýazylar:
'! ! ! abc @@@'
Mysal
Indiki mysalda gözleg şablon
şeýle görünýär: islenen zat bir gezek ýa-da has köp gezek,
ýöne 0-dan 9-a çenli san däl:
<?php
$str = '123abc3@@';
$res = preg_replace('#\D+#', '!', $str);
?>
Netijede üýtgeýjä şu ýazylar:
'123!3!'
Mysal
Bu mysalda gözleg şablon şeýle görünýär: bosluk nyşany bir gezek:
<?php
$str = '1 12 123 abc @@@';
$res = preg_replace('#\s#', '!', $str);
?>
Netijede üýtgeýjä şu ýazylar:
'1!12!123!abc!@@@'
Mysal
Bu mysalda gözleg şablon şeýle görünýär:
bosluk nyşany DÄL bir gezek ýa-da has köp gezek.
Bosluklar bilen bölünen ähli aşaky setirler üýtgediler
'!':
<?php
$str = '1 12 123 abc @@@';
$res = preg_replace('#\S+#', '!', $str);
?>
Netijede üýtgeýjä şu ýazylar:
'! ! ! ! !'
Mysal
Bu mysalda gözleg şablon şeýle görünýär:
san ýa-da harp bir gezek ýa-da has köp gezek.
Sanlardan we harplardan duran ähli aşaky setirler,
üýtgediler '!':
<?php
$str = '1 12 123a Abc @@@';
$res = preg_replace('#\w+#', '!', $str);
?>
Netijede üýtgeýjä şu ýazylar:
'! ! ! ! @@@'
Mysal
Bu mysalda gözleg şablon şeýle görünýär:
san DÄL we harp DÄL bir gezek ýa-da has köp gezek.
Bu kesgitçiligiň üçin biziň ýagdaýymyzda gabat gelýär
'@@@' we ähli bosluklar (olar hem
san däl we harp däl). Üns beriň
soňky bir '!' - onuň içine
üýtgedilen setir ' @@@' - öňki
bosluk bilen:
$str = '1 12 123 Abc @@@';
$res = preg_replace('#\W+#', '!', $str);
Netijede üýtgeýjä şu ýazylar:
'1!12!123!Abc!'
Amaly wezifeler
Setir berlen:
<?php
$str = 'a1a a2a a3a a4a a5a aba aca';
?>
Regular ýazyň, ol setirleri tapsyn,
olanlarda gyralarynda 'a' harplary durýar,
we olaryň arasynda bir san.
Setir berlen:
<?php
$str = 'a1a a22a a333a a4444a a55555a aba aca';
?>
Regular ýazyň, ol setirleri tapsyn,
olanlarda gyralarynda 'a' harplary durýar,
we olaryň arasynda islenen mukdarda san.
Setir berlen:
<?php
$str = 'aa a1a a22a a333a a4444a a55555a aba aca';
?>
Regular ýazyň, ol setirleri tapsyn,
olanlarda gyralarynda 'a' harplary durýar,
we olaryň arasynda islenen mukdarda san (şol
sanda nol san, ýagny setir 'aa').
Setir berlen:
<?php
$str = 'avb a1b a2b a3b a4b a5b abb acb';
?>
Şeýle setirleri tapan regular ýazyň:
gyralarynda harplar durýar
'a' we 'b', we olaryň arasynda - san
däl.
Setir berlen:
<?php
$str = 'ave a#b a2b a$b a4b a5b a-b acb';
?>
Şeýle setirleri tapan regular ýazyň:
gyralarynda harplar durýar
'a' we 'b', we olaryň arasynda - harp däl we san däl.
Setir berlen:
<?php
$str = 'ave a#a a2a a$a a4a a5a a-a aca';
?>
Ähli bosluklary üýtgedýän regular ýazyň
'!'.