Példák a reguláris kifejezések

Sajnos GREP (Global Regular Expression Elemző - «Analyzer reguláris kifejezések") a hírhedt kifinomult eszköz csak a programozók. Tény, hogy a reguláris kifejezések - a legerősebb eddigi eljárás szöveget keres szilánkok elektronikus dokumentum.

Kis történelmi adatok.

Példák a reguláris kifejezések.

A legegyszerűbb módja annak, hogy megismerjék a reguláris kifejezések, és biztosítja, hogy azok jobbak, mint a hagyományos keresés a szöveg -, hogy fontolja meg néhány példát.
Sablonok használhatók InDesign CS3 szöveges keresési fül (Text). Ezek a sablonok kétségtelenül hasznos, de számos nyilvánvaló korlátai: A sablonok használata nem szervez keresést ismétlődő elemek (például, hogy megtalálja az összes számot a szövegben meg kell rendezni át mindent, amit az első sorozat egy számjegyű számok, akkor két, három, stb ), mint a sablonok nem lehet használni a csere string (használj ábra ^ 9 találni egy sorozata, amely az a „kép”, és a következő számok neki, de csere a sorrenddel semmi sem fog elvesztéséhez vezet számjegy).
Ha ugyanazt a reguláris kifejezés helyére a következő szavak mindegyikét „ábra”, majd a számot a „fotó” a megőrzése a számok elég adja meg a keresési sáv ábra (\ d), de a csere húr Photo $ 1. A sorozat $ 1 a csere-karakterlánc egy mutató egy találati zárójelben a keresési karakterláncot. Egy általánosabb esetében ez például így néz ki: a keresett szöveget ábra (\ d +), a csere szöveget Picture $ 1, és lehetővé teszi, hogy megtalálja és lecseréli az összes szó „ábra” és utána egy egész (vagyis sorozata egy vagy több számjegy) a „fotó” a megőrzése a következő számot.
Egy másik példa a reguláris kifejezések, hogy keressen egy karaktersorozatot. Gyakran van a feladat megtalálni a szekvencia nagybetűvel és alkalmazása egy karakterstílust rá (általában kis sapkák létrehozni betűvel). Ez a probléma is van egy nagyon egyszerű megoldás segítségével GREP. keresendő szöveget: \ u \ u +, a helyettesítő karakterlánc ebben az esetben üresen kell hagyni (mert csak akkor tudunk változtatni a formázás), és a Formátum módosítása mező, meg kell adnia egy karaktert stílust akarunk alkalmazni a keresési eredményeket. Metakaraktert \ u ebben a példában azt jelzi minden nagybetűk, a + jel, mint az előző példában az (egy vagy több), ezért meg fogja keresni a keresett szekvencia legalább két nagybetűvel.
Egy másik erős pontja GREP - használata alternatívák. Például, hogy megtalálják a „elefánt” és a „klón” lehet használni a kifejezést (a | a) vulvas. Egy kiterjesztett változata ez a kifejezés - (a | a) Lona? Ezt fel lehet használni, hogy keressen többes (a „elefánt” megtalálható lesz ennek eredményeképpen „klón”, „Elefánt”, „klónok”). A kérdőjel ez a kifejezés azt jelenti, hogy az „s” betű jelen lehet a végén a szó, és nem lehet eltávolítani. Egy másik példa egy egyszerű, de ugyanakkor egy erős expresszióját - d [aoueiyeyuya] m. Ez a kifejezés megfelel az alábbi szekvenciával rendelkezik: A „D” betű és egy magánhangzó, majd a levél „m.” Ez a szekvencia lehet akár egyetlen szót (a ház, a füst), és előfordulnak hosszabb szót (gondolat, füst). A jövőben azt fogja vizsgálni, hogyan lehet keresni csak egész szavak. Ez a példa is mutatja, hogyan határozza meg saját sablonokat, ebben az esetben a sablon magánhangzókat.

A számítógépes zsargonban „karakterek” olyan szimbólum helyettesítésére használt egy vagy több más szimbólumokat. Orosz lokalizáció InDesign CS3 kínálja nekünk a fordítást - „karakterek”. Fogjuk használni a „minta”, mert ez rövidebb :-)
Sablonok (helyettesítők) - az egyik osnovynyh GREP funkciók. A legtöbb ezek közül a helyettesítő karakterek pukto vypadayuschgo menüt a keresőmezőbe. A többi a két menüpont: Idézőjelek és a POSIX.
Végül saját sablonokat lehet létrehozni a meghatározása a karakterosztály. Gondolja, amely sablonok, és hogyan tudjuk használni.

1. Bármely karaktert.
Ahogy a neve is sugallja, ez a minta illeszkedik minden karakterre (sima szöveges keresési mintákat * használni ezt?). Symbol ezt a sablont - pont. Ha megad egy pontot a keresősáv és kattintson a „Find”, az összes karakter a szöveg (kivéve az új bekezdés szimbólum) lesz megtalálható viszont. A minta bármely jel használható együtt más szimbólumok vagy minták. Például az eredmény a keresési lekérdezés „d..a” mind a négy betűs szó kezdődő d és befejezve a.

2. Bármely nagybetű.
Template \ u lehetővé teszi, hogy megtalálja a szövegben nagybetűvel. Azaz minden Unicode karakter lehet értelmezni, nagybetűvel, így nagybetűvel, a latin ábécé (beleértve az ékezetes karakterek), a nagybetűket a cirill, héber és arab. Példa - \ u \ u + keresni rövidítések. Ezt a kérelmet a következőképpen szól: „találni nagybetű (\ u), és legalább egy azt követő nagybetűvel” (ismétlő operátor + később tárgyaljuk).

Pont és eléjük.
A lényeg az GREP a sablon bármilyen karaktert. Mi van, ha meg kell találni egy pontot a szövegben, vagy backslash? Ehhez a keresési lekérdezést „szűrés” egy backslash (\). A keresési lekérdezés egy pont az alábbiak szerint - \.

3. Bármely kisbetű.
Kereséséhez kisbetűk sablon segítségével \ l (kis L). Akárcsak a nagybetűk, a keresés eredménye lesz minden Unicode karakter lehet értelmezni, mint a kisbetűk. Például, az eredmény egy keresési lekérdezés \ u \ l + mind szavakkal kezdődő nagybetűvel.

4. Bármely levél.
Megtalálja a levelet, nem tesz különbséget kis- és nagybetűk között. [\ L \ u] nem igazán mintát, és a karakter osztály egyesíti a két mintázat \ l \ u.


5. Bármely ábra.
\ D - egy mintát kíván számokat 0-tól 9 Együtt az ismétlő operátor (\ d +) lehetővé teszi, hogy megtalálja a számokat a szövegben. Csak ez a minta illeszkedik minden stilisztikai változások a számok: fokozatot, a számlálók és nevezők, valamint a frakció frakció funkciója a Karakter panel. Frakciókat lépett Unicode értékeket (pl ¼ - 00BC) ez a minta nem felel meg (ezek megfelelnek csak a minta „bármilyen karakter”).

Kapcsolódó cikkek