A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Előbb vagy utóbb minden webfejlesztő szembesül a megvalósításért a kódban reguláris kifejezéseket. Sokan azt hiszik, hogy tegyék hihetetlenül nehéz és csak néhány kiválasztott. Tény, hogy nem. És ma megmutatom, hogyan kell írni a reguláris kifejezéseket.

De először néhány általános információt. Mik azok a reguláris kifejezések és mire valók?

A reguláris kifejezések (angol reguláris kifejezések.) - a hivatalos keresés nyelve a manipuláció a részsztring a szövegben, használatán alapuló meta-karakterek (joker karakterek, angol helyettesítő karaktereket.). Tény, hogy ez a sor-minta (Eng. Pattern, orosz gyakran nevezik a „sablon”, „maszk”), amely a karakterek és metakarakterek és meghatározza keresési szabály.

Részlet a Wikipedia

Más szóval, a reguláris kifejezés egy reguláris karakterek sorozata, vagy számokat vagy valami más mintát, hogy egy kifejezés, hogy meg kell találni.

A reguláris kifejezések leggyakrabban használt kereső helyett pedig szöveges, akkor lehet használni, hogy ellenőrizze a pontos információkat a felhasználó által megadott ahhoz, hogy ne kerülj téves információk vagy rossz formátumban.

Munkájuk igen egyszerű.

Először meg kell adni egy karakterláncot, amiben keresni. Másodszor, létrehoz egy sablont a keresésnek.

És ha tudod, hogyan kell létrehozni egy sablont egy adott feladatot, akkor a reguláris kifejezések megtalálható szinte bármit, amit akarsz.

Tisztában vagyunk azzal, egyszerre a gyakorlatban, és nézd meg az eredményt.

Én egy új php fájlt, hogy teszteljék az összes kódot. Akkor nem ugyanaz. Hozzon létre egy fájlt, és szerelje fel a test címkék nyitó és záró címkéket a php kód:

Azonnal futtatni a fájlt a böngésző (biztos, hogy a Denver fut). Ha nem tudod, hogy futtatni a fájlt, akkor regisztrálnia kell a parancssorba a böngésző localhost / mappa neve, ami egy fájl / neve fayla.php.

Kezdjük az elején. Kezdeni, írok egy szöveget, amely a csuklás megfelelőségének és behelyezzük egy változó (természetesen a szöveget kell idézőjelbe).

Itt van egy ilyen szöveg. Most kell, hogy hozzon létre egy sablont a mi reguláris kifejezés.

Menjünk az egyszerűtől a bonyolult. A keresés elindításához a szövegben a „internet”, tudom, hányszor azt találtuk, és megjelenik a képernyőn.

Ehhez tegyük egy egyszerű reguláris kifejezés minta és helyezze egy változó.

Kezdjük azzal, hogy a reguláris kifejezés - ez egy egyszerű stringet, és meg kell idézett.

Ezen túlmenően, a reguláris kifejezések kezdete és vége a perjel. Mi a törtvonal a lényege a reguláris kifejezés.

Így nézzük helyezze a kódot a legegyszerűbb reguláris kifejezés minta, ami benne van a változót:

De ez csak változókat. És most a legfontosabb dolog!

Előírja a funkciót, hogy fog kinézni a következetesség a szöveg ahhoz, hogy a reguláris kifejezés.

A PHP használ speciális funkció «preg_match».

Funkció preg_match és preg_match_all funkciót.

A funkció preg_match eltelt két paramétert: a reguláris kifejezés, és egy sor, amelyben keresni szeretne.

Ez a funkció visszatérési értéke akár 0 (ha nincs egyezés) vagy 1 (az első mérkőzés, majd csak megáll a keresés).

Ha azonban szükségünk van minden levelezést a sablont, akkor kell használni preg_match_all funkciót.

A függvény preg_match_all át 3 paraméter: a reguláris kifejezés; sorban which're megállapítását; változó, amely fel a keresési eredményeket.

Mert szükségünk van minden mérkőzést a szövegben, akkor használja preg_match_all funkciót. Ezért a kódot töltjük fel a következő sort:

$ Eredmeny = preg_match_all ($ regex, $ string_search, $ out);

Továbbra is az eredmény megjelenítéséhez. Azt javaslom, hogy először a találatok száma, majd ezek a véletlenek a ciklus (a gyakorlatban lehetséges eredményeit soha nem kell, de ez a bemutató fogom csinálni egyértelműség).

Mi hozzá a kódot az alábbi sorokat:

echo $ result. "
„; A ($ i = 0; $ i

Most, ha nézd meg az oldalt a böngészőben, kiderül a következő eredménnyel:

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Ha meg kell találnunk egy értéket, vagy a másik, például, azt akarjuk, hogy megtalálják a „web” vagy „hely” a kívánt érték a sablon van szükség, hogy egy különleges karakter „|”. Ebben az esetben, a reguláris kifejezés így néz ki:

És látni fogjuk az eredményt a képernyőn a következő:

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Azt javaslom, hogy kezdődik a végén.

1. Először, mondjuk mi sablon, hogy vonja .ru vagy .com.

Elkalandozik, és azt mondják, hogy a dot védjegyek reguláris kifejezések (.) - „bármilyen karakter”, így a pontot kell vizsgálni. Ne tudjuk használni a fordított perjel (\). A szimbólum vagy (|) Te már ismerik.

Miközben kiderül, mint ez:

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

2. Most azt látjuk, hogy mielőtt .ru .com vagy lehet karaktereket a latin ábécé tól Z-ig, és a számok 0-9 és „-” jel. Így fog kinézni: [a-z0-9-]. És meg kell határoznunk egy kvantor (leegyszerűsítve: hány ilyen karakter lehet). Például, ha írok, mint ez: - ez azt jelentené, 2 vagy több.

Ez maradt az egészet, hogy egyesítse. Mellesleg előtt meg kell kötni a meglévő rész (\ .ru) | (. \ Com) zárójelben. Ha nem tesszük, akkor minden, amit namishem előre csak akkor alkalmazandó .mobi.

Ötvözi az összes fenti, megkapjuk a következő kódot:

A képernyőn a következő látható:

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Mit kell tennem?

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Nos, azt hiszem, hogy akkor világossá válik, hogyan lehet egy reguláris kifejezés. Ez természetesen nem általános, csak jött ez a példa. Biztos vagyok benne, hogy ha ül, és belegondolunk, javíthatja azt.

Általában az összetétele a reguláris kifejezés hasonló elkészítésekor az egyenletet.

Nézzünk egy egyszerű példát.

Találunk minden utalást éve foglalkozunk szöveget.

Legyen rendkívül egyszerű.

Év számokat tartalmazhat. Erre fogunk használni karakterosztály (\ d). Ez a karakter osztály - „számok”. Ezen túlmenően, az év kell állnia négy számjegy, és erre fogunk használni kvantor.

Ennek eredményeként, a reguláris kifejezés fog kinézni:

Ennek eredményeképpen megkapjuk a visszavonását minden évben megtalálhatók a szövegben (van két a szövegben):

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Végül, szeretnék ajánlani egy nagyon jó forrás, amely segít a tanulásban reguláris kifejezések. Úgy hívják regexlib.com.

Ez egy reguláris kifejezés tesztelő. Azaz, írhatsz reguláris kifejezések és a vizsgálati munka kellős ezt az erőforrást. Ehhez menj a lap «Redex Tester», «A Source» mező regisztrálnia kell a szöveget, amelyben a keresést. És terén «Regular Expression» kell írni egy reguláris kifejezés is. Vegye figyelembe, hogy ha írsz egy reguláris kifejezés, akkor írja be a „//” a területen nem szükséges. Azonnal levelet reguláris kifejezést is. Írása után nyomja meg a gombot «Submit» és látni az eredményeket. Ez nagyon kényelmes!

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

A reguláris kifejezések a php - megtanulják, hogy azok könnyedén!

Ahhoz, hogy megértsük, hogy könnyebb, a végén ezt a cikket már csatolt fájl asztalt, minden speciális karakterek, kvantifikátorok és tartományok. Kinyomtathatja és mindig kéznél, akkor nem kell nézni valahol, hogy mi minden egyes karakter egy reguláris kifejezés.

Számomra ez a tabletta nagyon hasznos, azt hiszem, ez segít.

Tény, hogy a reguláris kifejezések, akkor írj sokat, de azt akarom mondani, hogy megtanulják, hogyan kell írni azokat gyorsan és hatékonyan kell gyakorolni. Gyakorlat! Olyan jó, amikor futtatja a forgatókönyvet, és ez úgy működik, ahogy kell!

Sok szerencsét! És amíg újra nem találkozunk!

buen articulo, gracias

És mellesleg, a bejövő linkek úgy gondolja, túl sok (akár 20 oldal). Pozakryvat tájékoztassa őket az index (vagy legalábbis a legtöbb).

Köszönöm hűvös megállapított

Köszönöm az egyszerű és jó cikk