⊗ppPmRgSHy 238 of 447 menu

Liniuța în seturile din expresiile regulate PHP

Liniuța - este de asemenea un caracter special în interiorul [] (însă în afară - nu). Dacă aveți nevoie de liniuța ca simbol - atunci plasați-o acolo, unde nu va fi interpretată ca separator de grup.

De ce este important: puteți crea un grup de caractere, fără să vă dați seama. De exemplu, așa - [:-@] - credeți că selectați două puncte, liniuță și semnul @, dar de fapt rezultă un grup de caractere între : și @. În acest grup intră următoarele caractere: :, ;, ?, <, =, >.

De unde au apărut? Din tabelul ASCII - două puncte are număr mai mic decât semnul @ - și rezultă un grup. Adică toate grupurile se formează conform tabelului ASCII (dacă doriți, puteți folosi acest lucru).

Cum să rezolvați: plasați simbolul liniuței acolo, unde cu siguranță nu va fi interpretat ca simbol de grup, de exemplu, la început sau la sfârșit (adică după [ sau înainte de ]).

De asemenea, puteți să scăpați liniuța - atunci ea va reprezenta însăși indiferent de poziție. De exemplu, în loc de [:-@] scrieți [:\-@] - și grupul nu va mai exista, ci vor fi trei simboluri - două puncte, liniuță și semnul @.

Exemplu

În următorul exemplu șablonul de căutare este: cifra 1, apoi litera de la 'a' până la 'z', apoi cifra 2:

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

În rezultat, în variabilă se va scrie următorul:

'! 1-2 ! !'

Exemplu

Să scăpăm acum liniuța. În rezultat șablonul de căutare este: cifra 1, apoi litera 'a', sau liniuță, sau litera 'z', apoi cifra 2:

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

În rezultat, în variabilă se va scrie următorul:

'! ! 1c2 !'

Exemplu

Puteți pur și simplu să mutați liniuța, fără a o scăpa:

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

În rezultat, în variabilă se va scrie următorul:

'! ! 1c2 !'

Exemplu

În următorul exemplu șablonul de căutare este: primul simbol - este litere mici sau liniuță '-', apoi două litere 'x':

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

În rezultat, în variabilă se va scrie următorul:

'! Axx ! @xx'

Exemplu

În următorul exemplu șablonul de căutare este: primul simbol - este litere mici, litere mari sau liniuță '-', apoi două litere 'x':

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

În rezultat, în variabilă se va scrie următorul:

'! ! ! @xx'

Exemplu

Puteți plasa liniuța între două grupuri - acolo cu siguranță nu va mai crea încă un grup:

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

În rezultat, în variabilă se va scrie următorul:

'! ! ! @xx'

Probleme practice

Este dat șirul:

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

Găsiți toate șirurile conform următorului șablon: litera 'x', literă mare sau mică sau liniuță, litera 'z'.

Este dat șirul:

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

Găsiți toate șirurile conform următorului șablon: litera 'x', apoi sau dolar, sau liniuță sau plus, apoi litera 'z'.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge