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:
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ő:
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:
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ó:
Mit kell tennem?
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):
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!
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