Skip navigation

Összetett reguláris kifejezések

Összetett reguláris kifejezések

    • KIF1KIF2 - (két kifejezés egymás mellé írása): Összefűzés, konkatenáció (concatenation). Olyan szövegre illeszkedik, amelynek első fele KIF1-re, második fele KIF2-re illeszkedik. Több kifejezést is összefűzhetünk.
    • KIF1|KIF2| . . . - Logikai MEGENGEDŐ VAGY (diszjunkció), alternáció (alternation). Olyan szövegre illeszkedik, amely legalább az egyik kifejezésre (alternatívára) illeszkedik.

Ismételt illesztés, ismétlésszám megadása, iteráció (repetition, iteration):

    • KIF* - KIF akárhány egymást követő példányára illeszkedik (0 is)
    • KIF+ - KIF legalább 1 egymást követő példányára illeszkedik
    • KIF? - KIF 0 vagy 1 példányára illeszkedik (azaz KIF opcionális)
    • KIF{I} - KIF pontosan I egymást követő példányára illeszkedik
    • KIF{I,} - KIF legalább I egymást követő példányára illeszkedik
    • KIF{I,J} - mint előbb, de legfeljebb J példányra illeszkedik (I <= J)

Műveleti erősség csökkenő sorrendben: iteráció, konkatenáció, alternáció.

Emlékeztető - egrep

    • egrep [kapcsoló][minta]<fájl>

Kiírja egy fájl azon sorait, amelyekben szerepel a minta szövegrészlet.

Kapocsolók:

    -c: az illeszkedő sorok tartalma helyett csak azok darabszáma jelenik meg.

    -n: az illeszkedő sor sorszámát is kiírja.

    -v: azon sorait írja ki, amik nem tartalmazzák a minta szövegrészletet.

    -A # : # db sor kiírása az illeszkedő sorok után.

    -B # : # db sor kiírása az illeszkedő sorok előtt.

    -C # : # db sor kiírása az illeszkedő sorok előtt és után.

    -e minta : minta megadása; segítségével több minta is megadható, illetve akkor is jó, ha a minta a - karakterrel kezdődik.

    -r, -R: könyvtárak feldolgozása rekurzívan.

Reguláris kifejezések megértéséhez javasolt a --color kapcsoló használata (kiszínezi az illeszkedést).

FONTOS!

  1. A továbbiakban ha egrep-et használunk, mindig tegyük az illesztendő kifejezést ' '-ok (aposztrófok) közé.
  2. Reguláris kifejezéseknél a * egymagában NEM tetszőleges számú karaktert jelent, hanem az előtte megjelölt kifejezésből lehet tetszőleges számú. Pl.: az '(alma)*' nem azt jelenti, hogy az "alma" szó utána bármennyi tetszőleges karakter lehet, hanem az "alma" szóból lehet tetszőleges számú egymás után.