⊗ppPmRgSHy 238 of 447 menu

Defiseņu lietošana regulāro izteiksmju kopās PHP

Defise ir arā speciāls simbols [] iekšpusē (ārpusē - nav). Ja jums vajag pašu defisi kā simbolu - tad novietojiet to tur, kur tas netiks uztverts kā grupas atdalītājs.

Kāpēc tas ir svarīgi: jūs varat nevēloties izveidot simbolu grupu. Piemēram, šādi - [:-@] - jūs domājat, ka izvēlaties kolu, defisi un @ simbolu, bet patiesībā izveidojas simbolu grupa starp : un @. Šajā grupā ietilpst šādi simboli: :, ;, ?, <, =, >.

No kurienes tie nāk? No ASCII tabulas - kola ir ar mazāku numuru nekā @ simbols - un tā veidojas grupa. Tas nozīmē, ka visas grupas veidojas pēc ASCII tabulas (ja vēlas, ar to var izmantot).

Kā ar to cīnīties: novietojiet defises simbolu tur, kur tas noteikti netiks uztverts kā grupas simbols, piemēram, sākumā vai beigās (tas ir, aiz [ vai pirms ]).

Var arī aizbīdīt defisi - tad tā apzīmēs sevi neatkarīgi no pozīcijas. Piemēram, [:-@] vietā rakstīt [:\-@] - un grupas vairs nebūs, bet būs trīs simboli - kols, defise un @ simbols.

Piemērs

Nākamajā piemērā meklēšanas šablons ir šāds: cipars 1, tad burts no 'a' līdz 'z', tad cipars 2:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! 1-2 ! !'

Piemērs

Tagad aizbīdīsim defisi. Rezultātā meklēšanas šablons ir šāds: cipars 1, tad burts 'a', vai defise, vai burts 'z', tad cipars 2:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! ! 1c2 !'

Piemērs

Var vienkārši pārvietot defisi, to neaizbīdot:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! ! 1c2 !'

Piemērs

Nākamajā piemērā meklēšanas šablons ir šāds: pirmais simbols - ir mazie burti vai defise '-', tad divi 'x' burti:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! Axx ! @xx'

Piemērs

Nākamajā piemērā meklēšanas šablons ir šāds: pirmais simbols - ir mazie, lielie burti vai defise '-', tad divi 'x' burti:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! ! ! @xx'

Piemērs

Var novietot defisi starp divām grupām - tur tā noteikti vēl neizveidos citu grupu:

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

Rezultātā mainīgajā ierakstīsies sekojošais:

'! ! ! @xx'

Praktiskie uzdevumi

Dota virkne:

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

Atrodiet visas virknes pēc šāda šablona: burts 'x', lielais vai mazais burts vai defise, burts 'z'.

Dota virkne:

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

Atrodiet visas virknes pēc šāda šablona: burts 'x', tad vai nu dollara zīme, vai defise vai plus zīme, tad burts 'z'.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt