PHP: regulárne výrazy, predzvesť všetky funkcie

PHP, ako je to v prípade moderného programovacieho jazyka, ponúka vývojárovi súbor funkcií pre použitie regulárnych výrazov. Môžete vyhľadávať zadávanie riadkov v iných riadkoch podľa zložitých kritérií.

HTML, CSS, XML a ďalšie formalizované súbory sú klasickými úlohami pre použitie funkcie predbežnej zhody. Nemenej efektom je nájdenie adries, priezviska, telefónnych čísel, e-mailov a ďalších informácií v neformalizovaných textoch.

Funkčný formát

PHP ponúka dve vyhľadávacie funkcie: preg match a preg match all. Prvý hľadá prvý výskyt vzoru v riadku, druhý je všetok výskyt. Niekedy sa používa pojem "náhodná zhoda". V prvom prípade výsledok funkcie je "reťazec je rovnaký ako šablóna", v druhom prípade "nájdené reťazce zodpovedajú vzoru". Formálne výraz "koincidencia" presnejšie odráža podstatu, ale prirodzený kontext operácie je zvyčajne "hľadanie" informácií. V praxi sú obaja jeden a druhý požadovaný. Nižšie je formát funkcie.


Výsledok funkcie - číslo, počet zhody. Všetky nájdené zápasy sú napísané v poliach poľa. V prípade predbežnej zhody všetko, môžete určiť poradie zoraďovania poľa:
  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.
  • Triedenie v prvej verzii skupiny je výsledok vyhľadávania podľa čísla regulárneho výrazu (predvolená hodnota). V druhom prípade sú výsledky zoskupené podľa ich umiestnenia v riadku.

    Symbol - šablóna prvku

    Je dôležité mať na pamäti, že vzor funguje so znakmi. Programovanie už dlho zabudlo, aký typ dát je "symbol". Moderné jazyky nespadajúPod pojmom "reťazec", ale vzhľadom na šablónu je potrebné rozumieť: tu sú manipulované so symbolmi.


    Konštrukcia šablóny je v prvom rade indikáciou požadovanej sekvencie znakov. Ak je jasné, že v šablóne nebudú žiadne chyby. V každom prípade bude oveľa menšia.
  • a - toto je špecifický prvok šablóny - symbol.
  • a-z je prvok šablóny, tiež jeden znak, ale len s hodnotou od a do z - celá latinka v malých písmenách.
  • 0-9 je jedna číslica, s ľubovoľným, ale 1-3 je len 1 2 alebo 3.
  • Register v šablóne je dôležitý. Prvý a posledný znak šablóny majú veľký význam. Môžete určiť, kde šablóna začína a čo končí.

    Šablóna funkcie

    PHP Pre Match všetko používa štandardnú syntax regulárnych výrazov. Hranaté zátvorky označujú jednu z znakov v nich:
  • [abc] iba znaky a, b, c.
  • [^ ABC] všetky okrem znakov A, B, C.
  • w a W - text alebo nie textový znak.
  • s a S je priestorový alebo neslobodný znak.
  • d a D sú číslica alebo nie.
  • Symboly opakovania sú reprezentované skrútenými zátvorkami - {n, m} a odkazujú na predchádzajúci znak.
  • n označuje opakovanie "nie menej";
  • m je opakovanie "nič viac".
  • Syntax poskytuje veľa možností pre vytváranie šablón, ale je najlepšie začať s základmi, to znamená z jednoduchých, samozapisovaných, v ktorých chýbajú zložité prvky a kombinácie. Stačí uviesť zoznam skutočných znakov, ktoré potrebujete, s uvedením ich požadovaných čísel a berte do úvahy, že symbol "^" zodpovedá začiatku a "$" - koniec riadku, môžetevytvoriť jednoduché šablóny. Analýzou skutočných legalizovaných výrazov od kvalifikovaných odborníkov získate dôkladné vedomosti, ktoré vám umožnia vytvoriť sofistikované zámery všetkých aplikácií. PHP arzenál nie je obmedzený na tieto dve funkcie, ale najčastejšie sa používajú.

    Jednoduché postupy

    Šablóna pre celé číslo:
  • "/[0-9] * /"
  • Rovnaký vzorec je celé číslo, ale predné môžu byť príznakom ("+", "-" ) a môžu byť zbytočné medzery vpredu /vzadu:
  • /^ [s | + | -] {01} [0-9] * /
  • Podobne: {01} [0-9] * (.) [0-9] * /- číslo s bodkou.
  • /[0-9a-z_-]+@[0-9a-z_^.]+.[-z]{23}/- Možnosť rozpoznať e-mail.
  • Použitie šablón na prípravu všetkých zápasov, ich príklady na internete, analýza kódových stránok stránok a iných zdrojov umožňuje vytvoriť vlastnú knižnicu šablón.
    Varianty na vyhľadávanie informácií môžu byť početné. Najmä posledné dva uvedené konštrukcie môžu byť modelované inak. V mnohých prípadoch bude mať výhodu šablóny, ktorá rýchlo a presne poskytne správnu zhodu. Používanie predpripravených funkcií PHP, rovnako ako aj podobné funkcie v iných jazykoch, si vyžaduje prax, pozornosť a predbežnú validáciu šablón.

    Súvisiace publikácie