⊗ppPmRgSHy 238 of 447 menu

PHP-də RegEx daxilində çizgi işarəsi dəstləri

Çizgi işarəsi də [] daxilində xüsusi simvoldur (ancaq xaricində - deyil). Əgər sizə çizgi işarəsi özü simvol kimi lazımdırsa - onu elə yerdə qoyun ki, qrup ayırıcısı kimi qəbul edilməsin.

Bu niyə vacibdir: siz özünüz də hiss etmədən simvol qrupu yarada bilərsiniz. Məsələn, bununla - [:-@] - siz düşünürsünüz ki, iki nöqtə, çizgi işarəsi və @ simvolunu seçirsiniz, amma əslində :@ arasındakı simvol qrupu alınır. Bu qrupa aşağıdakı simvollar daxildir: :, ;, ?, <, =, >.

Onlar hardan gəldi? ASCII cədvəlindən - iki nöqtənin nömrəsi @ işarəsindən kiçikdir - və nəticədə qrup alınır. Yəni bütün qruplar ASCII cədvəlinə görə alınır (istəsəniz bundan istifadə edə bilərsiniz).

Bununla necə mübarizə aparmaq olar: çizgi işarəsini elə yerdə qoyun ki, şübhəsiz şəkildə qrup simvolu kimi qəbul edilməsin, məsələn, əvvəlində və ya sonunda (yəni [-dən sonra və ya ]-dən əvvəl).

Həmçinin çizgi işarəsini ekranlaşdıra bilərsiniz - onda o mövqeyindən asılı olmayaraq özünü ifadə edəcək. Məsələn, [:-@] əvəzinə [:\-@] yazın - və artıq qrup olmayacaq, amma üç simvol olacaq - iki nöqtə, çizgi işarəsi və @ işarəsi.

Nümunə

Aşağıdakı nümunədə axtarış şablonu belədir: 1 rəqəmi, sonra 'a'-dan 'z'-ədək hərf, sonra 2 rəqəmi:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a-z]2#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! 1-2 ! !'

Nümunə

Gəlin indi çizgi işarəsini ekranlaşdıraq. Nəticədə axtarış şablonu belədir: 1 rəqəmi, sonra 'a' hərfi, ya da çizgi işarəsi, ya da 'z' hərfi, sonra 2 rəqəmi:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a\-z]2#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! 1c2 !'

Nümunə

Sadəcə çizgi işarəsini yerini dəyişə bilərsiniz, onu ekranlaşdırmadan:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[az-]2#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! 1c2 !'

Nümunə

Aşağıdakı nümunədə axtarış şablonu belədir: birinci simvol - kiçik hərflər və ya çizgi işarəsi '-', sonra iki 'x' hərfi:

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-z-]xx#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! Axx ! @xx'

Nümunə

Aşağıdakı nümunədə axtarış şablonu belədir: birinci simvol - kiçik, böyük hərflər və ya çizgi işarəsi '-', sonra iki 'x' hərfi:

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-zA-Z-]xx#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! ! @xx'

Nümunə

Çizgi işarəsini iki qrup arasında yerləşdirə bilərsiniz - orada o, şübhəsiz ki, başqa bir qrup yaratmayacaq:

<?php $str = 'axx 9xx -xx @xx'; $res = preg_replace('#[a-z-0-9]xx#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! ! @xx'

Praktiki tapşırıqlar

Bir sətir verilib:

<?php $str = 'xaz xBz xcz x-z x@z'; ?>

Aşağıdakı şablona uyğun bütün sətirləri tapın: 'x' hərfi, böyük və ya kiçik hərf və ya çizgi işarəsi, 'z' hərfi.

Bir sətir verilib:

<?php $str = 'xaz x$z x-z xcz x+z x%z x*z'; ?>

Aşağıdakı şablona uyğun bütün sətirləri tapın: 'x' hərfi, sonra ya dollar işarəsi, ya çizgi işarəsi və ya plus işarəsi, sonra 'z' hərfi.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et