PHP: regulární výrazy, předem připravená funkce

PHP, jak je tomu v případě moderního programovacího jazyka, nabízí vývojáři soubor funkcí pro použití regulárních výrazů. Můžete zadat řádek v jiných řádcích podle složitých kritérií.

HTML, CSS, XML a další formalizované soubory jsou klasickými úlohami pro použití funkce předběžného zápatí. Neméně málo je hledání adres, příjmení, telefonních čísel, e-mailů a dalších informací v neformalizovaných textech.

Funkční formát

PHP nabízí dvě vyhledávací funkce: připravit zápas a připravit všechny. První hledá první výskyt vzoru v řádku, druhý je všechny výskyty. Někdy se používá termín "shoda náhod". V prvním případě je výsledkem funkce "řetězec je stejný jako šablona", ve druhém případě "nalezené řetězce odpovídají vzoru". Formálně výraz "koincidence" přesněji odráží podstatu, ale přirozený kontext operace je obvykle "hledání" informací. V praxi se jedná o jednu i druhou poptávku. Níže je formát funkce.


Výsledek funkce - číslo, počet shod. Všechna nalezená shoda jsou zapsána v poli shody. V případě předběžného zápatí vše můžete zadat pořadí řazení polí:
  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.
  • Třídění v první verzi skupiny je výsledkem vyhledávání podle čísla regulárního výrazu (výchozí hodnota). Ve druhém případě jsou výsledky seskupeny podle jejich umístění v řádku.

    Symbol - šablona prvku

    Je důležité si uvědomit, že vzorec funguje se znaky. Programování už dlouho zapomnělo, jaký typ dat je "symbol". Moderní jazyky nespadají dolůPod pojmem "řetězec", ale vzhledem k šabloně musíme rozumět: zde jsou manipulovány se symboly.


    Konstrukce šablony je nejprve indikací požadované posloupnosti znaků. Je-li to jasně pochopeno, v šabloně nebudou žádné chyby. V každém případě bude mnohem menší.
  • a - toto je specifický prvek šablony - symbol.
  • , a-z - prvek vzoru, také symbol, ale s hodnotou od A do Z - latiny všechny malými písmeny.
  • 0-9 je jedna číslice, každá z nich, ale 1-3 je pouze 1 2 nebo 3.
  • Registr v šabloně je důležitý. První a poslední znaky šablony mají velký význam. Můžete zadat, kde šablona začíná a co končí.

    Šablona funkce

    PHP Pre Match všechny používá standardní syntaxi regulárních výrazů. Hranaté závorky označují jednu z znaků v nich:
  • [abc] pouze znaky a, b, c.
  • [^ ABC] téměř symboly A, B, C,
  • W a W - text není textový znak.
  • s a S je prostorový nebo non-volný znak.
  • d a D jsou číslice nebo ne číslice.
  • Symboly opakování jsou reprezentovány zkroucenými závorkami - {n, m} a odkazují se na předchozí znak.
  • n označuje opakování "ne méně";
  • m je opakování "ne více".
  • Syntaxe poskytuje mnoho možností pro vytváření šablon, ale nejlepší je začít od nuly, které je jednoduché, ručně psaný, ve kterém komplex prvků a kombinací k dispozici. Jednoduše řečeno, výpis skutečné symboly, které jsou požadovány s uvedením jejich potřeby brát v úvahu počet a symbol „^“ odpovídá na začátku, a „$“ - konec linky můževytvářet jednoduché šablony. Analýzou skutečných pravidelných výrazů od kvalifikovaných odborníků získáte solidní znalosti, abyste vytvořili sofistikované předběžné zápatí všech aplikací. PHP arzenál není omezen na tyto dvě funkce, ale nejčastěji se používají.

    Jednoduchá praxe

    Šablona pro celé číslo:
  • "/[0-9] * /"
  • Také šablona celého čísla, ale přední může být znaménko ("+" ), a tam mohou být zbytečné mezery v přední /zadní:
  • /^ [s | + | -] {01} [0-9] * /
  • Podobně:
  • /^ {01} [0-9] * (.) [0-9] * /- číslo s tečkou.
  • /[0-9a-z_-]+@[0-9a-z_^.]+.[-z]{23}/- Možnost rozpoznat e-mail.
  • Použití šablon pro přípravu všeho, jejich příklady na internetu, analýza kódových stránek stránek a dalších zdrojů vám umožní vytvořit vlastní knihovnu šablon.
    Varianty pro vyhledávání informací mohou být četné. Konkrétně mohou být posledně uvedené dva konstrukty odlišně modelovány. V mnoha případech bude mít výhodu šablony, která rychle a přesně poskytne správnou shodu. Využití PHP preg match všech, stejně jako podobných funkcí v jiných jazycích, vyžaduje praxi, pozornost a předběžnou validaci šablon.

    Související publikace