A reguláris kifejezések, osztályok, sablonokat zennoposter


A reguláris kifejezések széles körben használják a programot, nevezetesen:
- Kereséséhez elemek;
- Alatt elemzés adatait weboldalak vagy fájlból;
- Az egyszerűség kedvéért a különböző forrásokból származó adatok (csere vagy eltávolítása a szöveg egyes részeit);
- Amikor telepíti a leválasztó listák és táblázatok;
- Több.

A reguláris kifejezés - részkarakterláncként keresési nyelvet a szövegben, amely a különleges karakterek használatát és a jelek. Sőt, ez a szöveg minta áll karakterek (statikus szöveg) és a speciális karakterek (képviselő bármilyen sorrendben), és szabályt határoz meg a részsztring keresés a feldolgozott szövegben.

Az építési reguláris kifejezések a program egy speciális eszköz - „tervező reguláris kifejezések.” Az is lehetséges, hogy teszteljék a teljes kifejezést, valamint hozzon létre saját.

Vegye ki a szöveget, és össze a példáját, a reguláris kifejezés, hogy a domain oldalak:


A kivitelező, vannak külön mezők - a szöveget, amely megelőzi a kívánt (a href = „), amely az elején (http :), befejezi a keresett szöveget (.com), ami jön utána (”>). Ennek eredményeként kapjuk az alábbi reguláris kifejezés:

és egy listát a tartományok a vizsgálatok eredményeit.

A reguláris kifejezések, osztályok, sablonokat zennoposter

Szintén a kivitelező két négyzeteket:
1) Hagyja transzferek - engedélyezi vagy letiltja a keresendő szöveget a sortöréseket (ha ez az opció engedélyezve van, akkor a reguláris kifejezés nem korlátozódik kereséskor egy sort, valamint lehetővé teszi a sortöréseket);


2) Minimum Match - engedélyezi vagy tiltja a keresést a legrövidebb mérkőzés. Ha ez az opció be van kapcsolva, az eredmény lenne a legrövidebb részsztring megfelelő formában kifejezéseket. Amikor kikapcsolja, illetve - a leghosszabb.


Kitöltésekor ezek a mezők, a szöveg automatikusan konvertálja a mezőbe „szöveg reguláris kifejezés” kap kész kifejezés, amely lehet használni a keresést.
Tervező reguláris kifejezések, amelyek a programban ZennoPoster, nem elég rossz, de ez nem általános. Ez előállítására alkalmas egyszerű kifejezéseket, amikor van egy pontos egyezés a szövegben - ez előtt vagy után a szöveget, amit meg kell találni, hogy mit kezd, vagy mit ér véget. Néha, az eredmény nem kielégítő - a vonalak több vagy kevesebb, mint amennyire szüksége van, vagy egyszerűen helyett a szöveg, hogy egy másik alom. Ilyen esetekben van szüksége fejlettebb tudás és szerkesztés generált kifejezéseknek kivitelező kézzel.

Annak érdekében, hogy megfelelően, hogy saját reguláris kifejezések, úgy a fő karakterek, amelyek meghatározzák, hogy fel lehet használni bármilyen helyzetben.

”. „- bármely más karakter, mint a vonal takarmány (\ n);
«\ D» - numerikus karakter, azaz minden számjegy 0-9;
„[0-9]” - digitális tartományban - eltér a \ d az a tény, hogy ebben a formában meg lehet határozni nem numerikus karaktert, és a tartományok, például [1-3], aki megtalálja csak a számjegyek 1, 2 és 3;
«\ D» - nem digitális karaktert. Ie az összes karakter - betűk és terek eltérő számok;
«\ S» Egész szóköz, amelyek az alábbiak lehetnek:
- rés "\";
- Egy új oldal «\ f»;
- kocsi vissza «\ r»;
- Új sor «\ n»;
- a lap «\ t»;
- jelentkezzen «\ v» függőleges fül;
«\ S» - nem szóköz, azaz minden betűk, számok és jelek. Minden, ami nem szerepel a fenti, mint szóközöket.
«\ W» - alfabetikus vagy numerikus karakter vagy aláhúzás.
«\ W» - bármilyen karakter kivéve az alfabetikus vagy numerikus karakter vagy aláhúzás.

Például, meg kell vizsgálni, hogy a vonal a „Red”, az írás a kivitelező „vörös”, akkor kap ugyanaz, és más szavakkal, amelyek tartalmazzák a szót, mint a „tökéletes”, stb Hogy ez ne történhessen meg, regisztrálnia kell \ bkrasny \ b - így a szókat, hasonló lehet a cím nem számít.
Nem szóhatárt, illetve fordítva működik. Például tudjuk, hogy a szó kell végződnie „élő”, de a „élő” nem kell, akkor tegye ezt \ Bzhili és kap egy listát a szavak a kívánt cél - értékes túlélte stb

Kvantifikátorok vannak telepítve, miután a karaktereket, az ismétlések számát, hogy meg kell kérdezni.
Vegyük például azt a pontot, hogy jelentése bármely karakter, és így egy reguláris kifejezés, amely egyezik bármilyen sorrendben 4 karakter. Az eredmény így fog kinézni :.
Így megadhatja, hogy a belsejében a szöveg rögzített vagy korlátlan számú ismétlések meghatározott szimbólumok, azaz a.:
SL - a reguláris kifejezés találja szavakat, mint asztal, szék, stb de ez is felelnie a húr, amely a közepén a terek, a számok, és így tovább.


A reguláris kifejezések, osztályok, sablonokat zennoposter

Annak érdekében, hogy azt mutatják, hogy a belső csak betűket, ezért szükséges, hogy regisztrálja magát:

A reguláris kifejezések, osztályok, sablonokat zennoposter

Azt is megadhatja egy adott szekvencia vagy különféle karakterek, hogy figyelembe kell venni. Erre a célra a zárójelben, amelyen belül az előírt tartományban, vagy karaktereket.


A tartományokat egy kötőjel közötti értékeket. Egy lista, egyszerűen karakter megtalálható a húr nélkül elválasztó.
[A-Za-Z1-5abv] - ez a szekvencia minden angol levél kis-és nagybetűket, számokat 1-5 befogadó és a szintén orosz betűk a, b és c.

A reguláris kifejezés az alábbi formában:

Azt jelenti, hogy miután a „a” betű menjen 2 minden karakter szerepel a zárójelben, a sorozat fogja találni a szót asztal és egy szék, de ez is meg fogja találni a betűsor „suul”, „Sutla” és mások.

(? I) - többek között zsibbadás kifejezés esetében;


(? -i) - kikapcsol a zsibbadás expressziós érzékeny.

Ezekkel a módosítókat, tudjuk meg egy reguláris kifejezés, hogy mi a fontos ügyben keresése közben sovadeny. Kikapcsolása a nyilvántartás elején a reguláris kifejezés, akkor kapcsolja ki az összes soron következő mérkőzést a sorban.

A reguláris kifejezések, osztályok, sablonokat zennoposter
A reguláris kifejezések, osztályok, sablonokat zennoposter

Ahogy vannak esetek, amikor egy helyen vannak a kis- és nagybetűket, és a többi fontos számunkra.

A reguláris kifejezések, osztályok, sablonokat zennoposter

Ez a reguláris kifejezés található a string „teszt, teszt”, mert Az első mondatban az esetek érzéketlenség és ő megkeresi az összes mérkőzést, de nem találja a „TEST, Test”, mint a második mondatban kellene pontos egyezés a nyilvántartásban.

Módosítók többsoros keresés:
(? M) - tartalmaz multi-keresés
(? -m) - letiltja a multi-keresés

Ahhoz, hogy megtalálja az összes vonal kezdődő, nem szóköz karakter használható a reguláris kifejezés:
(? M) ^ \ S. *

Karaktereket, hogy meg kell megszökött, úgy, hogy azok figyelembe vegyék a reguláris kifejezések a szöveget, nem része a reguláris kifejezés (meta karakter):

Amikor ezeket a karakter egy reguláris kifejezés, mint a szöveg része, kell kiléptetni ismerős \.
Például, ha a szöveg akkor kell egy kérdőjel, azt nevezik \?

. - adott reguláris kifejezés illeszkedik a szekvencia 5-10, bármilyen karakter, kivéve a sortörést. Ezt fel lehet használni, hogy vágja le a szöveget, hogy a megfelelő hosszúságú, elemzésekor részstringjét egy bizonyos hosszúságú, valamint adja meg a kívánt számú ismeretlen karakterkészlet a szövegben.

és \ d + és - abban az esetben, ha a keresendő szöveget, amelyről ismert, van egy szám, amely számos különböző karakter. Mivel a reguláris kifejezés A1A. a23a. a459a és így tovább.

és [2-5] a - ez szabályos kifejezés szöveget, amely akkor kezdődik az „a” és tartalmazzák a 2 és 4 szám 2, 3, 4 vagy 5, és ér véget „a”. Például, a354a vagy a52a

Például meg kell venni a webhely URL-címét a következő sorban id = „123” a href = „www.site.com”>. ahol id szám folyamatosan változik, hanem egyszerűen címkézni a href más URL, amelyek nem szükségesek.
Tester reguláris kifejezés megadja nekünk ezt a lehetőséget:

de csak akkor fog illeszkedni a húr, ami Haydee a „123”. mert meg kell határoznunk, hogy ahelyett, 123 lehet bármilyen számjegyeket, akkor cserélje ki a \ d + és kap a következő reguláris kifejezés

hogy megkapja az összes sort, hogy tartalmaz Haydee.

Ami a legrövidebb mérkőzés egy reguláris kifejezés. Meg kell érteni, hogy az a lehető legrövidebb véletlen utal a szöveg egy részét, hogy kezdődik és végződik a meghatározott feltétel a reguláris kifejezés.


Ha vesszük a vonal a href = „www.site.com”> a href = „www.site2.ru”>, és alkalmazza azt a reguláris kifejezés „(?<=a\ href=").*?\.ru(?=">„). válaszul megkapjuk www.site.com „> a href =” www.site2.ru helyett a várható «www.site2.ru»


Miért nem keres kaptunk egy nagyon rövid mérkőzés? Ez akkor fordul elő, mert a reguláris kifejezés nyert a szöveg az első rész, ami megy a keresendő szöveget, azaz „A href =” „Ezután továbbra is néz ki, hogy mindaddig, amíg a feltétel nem talált, amelyen a végére a húr, azaz” .mobi „ami után van egy”>


Ennek elkerülése érdekében, ebben az esetben, akkor egy reguláris kifejezés minta:

azt jelzik, hogy a részek között a szöveg van egy nem szóköz karakter, mint bármelyik karaktert, mint korábban volt

Abban az esetben, ha része a reguláris kifejezés bármi lehet - különböző hosszúságú másik szöveget, vagy lehet, hogy hiányzik, lehetséges ezen a ponton be egy sorozat „*?”

Annak jelzésére, hogy a kívánt értéket egy új vonalat és (vagy) végén fejeződik be a szöveget, megfelelő reguláris kifejezés:

Gyakran előfordul, hogy egy ilyen megjelölés segíti az helyes reguláris kifejezést keres elemeket a weboldalon.

Azokban az esetekben, amikor keresünk egy elem különböző helyekre, és akkor megjelenik egy másik nyilvántartásban, például: Sor, sor, sor. A szempontból a gép, ez a három érték különböző, és csak egy van, amely megfogalmazta érzékeny.


Ha kell készíteni egy reguláris kifejezés, amely mindezt megtalálja véletlenek, szükséges regisztrálni

azaz tiltjuk a reguláris kifejezés az érzékenység és a további már előírja magának egy reguláris kifejezés. Ebben a formában vannak olyan mérkőzések, függetlenül a helyzet.

Ha azt szeretnénk, hogy egy szöveg weboldalak, e-mail, vagy a fájl, akkor szem előtt kell tartaniuk, hogy a sor elejére, amely jelöli, ^ - még csak a kezdet, az első sorban a szöveg és a sor végére nevezik $ - ez csak a végén az utolsó sort.


A fennmaradó sorok a szövegben fordítások, azaz Mindezen vonalak végén egy kocsi vissza (\ r), és elkezd egy új sor karakter (\ n).

Annak érdekében, hogy azt mutatják, hogy a reguláris kifejezés kell kezdeni, és a végén az ugyanazon a vonalon, akkor olyan feltételeket írnak elő, vagy hogy nevezzük függőleges perjel - |
A reguláris kifejezés így néz ki:

Akkor emellett használni többsoros keresési módosító, hogy minden sort úgy, mint egy újat:

megadható egy reguláris kifejezés, amely segítségével keresnek az OR operátort az alábbiak szerint:

1 | 2 (amely jelöli a tartományban 1 vagy 2.)

Így tudjuk ellenőrizze a jelenlétét a többoldalas szöveget.
Például, meg kell, hogy ellenőrizze az oldalon a kifejezés „Hello”, „Köszönjük a regisztrációt”, „Welcome”, tudjuk kombinálni az összes adatot egyetlen reguláris kifejezés az alábbiak szerint:

Hi | Köszönjük regisztráció | Welcome

Ezzel a szerkezettel, ellenőrizze szöveget az oldalon kap egyet az alábbi opciók.

Abban az esetben, ha a jel „vagy” kell használni nem az egész szabályos kifejezés, ahogy a fentiekből kiderül, de csak egy része, ez a rész legyen a zárójelben. Például:

Ez a reguláris kifejezés fogja találni a kifejezést: „mit csinál.” „Mit csinál.” és a „mit csinálnak.”

<.*?> - megkeresi azokat a címkéket a célnyelvi szövegben;

\ + #])? - kap URL oldalakon.


Köszönöm mindenkinek, aki elsajátította ezt a cikket, remélem, hogy hasznos volt olvasni a felhasználók több praktikus.