Kaj so regularni izrazi Linuxa?
Regularni izrazi za Linux so posebni znaki, ki pomagajo iskati podatke in ujemati zapletene vzorce. Regularni izrazi se skrajšajo kot 'regexp' ali 'regex'. Uporabljajo se v številnih programih Linuxa, kot so grep, bash, preimenovanje, sed itd.
Vrste regularnih izrazov
Za lažje razumevanje se naučimo različne vrste regularnih izrazov enega za drugim.
- Osnovni regularni izrazi
- Interval Regularni izrazi
- Razširjeni regularni izrazi
- Povzetek
Kliknite tukaj, če video ni dostopen
Osnovni regularni izrazi
Nekateri najpogosteje uporabljeni ukazi z regularnimi izrazi so tr, sed, vi in grep. Spodaj so navedeni nekateri osnovni regularni izrazi.
Simbol | Opisi |
---|---|
. | zamenja kateri koli znak |
se ujema z začetkom niza | |
$ | se ujema s koncem niza |
* | se ujema z nič ali večkrat prejšnjim znakom |
\ | Predstavljajte posebne znake |
() | Združi regularne izraze |
? | Ujema se z natančno enim znakom |
Poglejmo primer.
Izvedite vzorec mačke, da si ogledate vsebino obstoječe datoteke
Poiščite vsebino, ki vsebuje črko 'a'.
' ^ ' se ujema z začetkom niza. Poiščimo vsebino, ki se začne z
Filtrirajo se samo vrstice, ki se začnejo z znakom. Vrstice, ki na začetku ne vsebujejo znaka 'a', se prezrejo.
Poglejmo še en primer -
Z uporabo $ izberite samo tiste vrstice, ki se končajo s t
Interval Regularni izrazi
Ti izrazi nam govorijo o številu pojavitev znaka v nizu. So
Izraz | Opis |
---|---|
{n} |
Natančno se ujema s prejšnjim znakom, ki se prikaže 'n'-krat |
{n, m} | Ujema se s prejšnjim znakom, ki se pojavi 'n' krat, vendar ne več kot m |
{n,} | Ujema se s prejšnjim znakom le, če se pojavi 'n' krat ali več |
Primer:
Filtrirajte vse vrstice, ki vsebujejo znak 'p'
Preveriti želimo, da se znak 'p' pojavi natančno dvakrat v nizu drug za drugim. Za to bi bila sintaksa:
cat sample | grep -E p\{2}
Opomba: S temi regularnimi izrazi morate dodati -E.
Razširjeni regularni izrazi
Ti regularni izrazi vsebujejo kombinacije več kot enega izraza. Nekateri med njimi so:
Izraz | Opis |
---|---|
\ + |
Ujema se z enim ali več pojavljanji prejšnjega znaka |
\? |
Ujema se z nič ali enim pojavom prejšnjega znaka |
Primer:
Iskanje vseh znakov 't'
Recimo, da želimo filtrirati vrstice, kjer je znak 'a' pred znakom 't'
Lahko uporabimo ukaz like
cat sample|grep "a\+t"
Razširitev naramnic
Sintaksa razširitve oklepajev je bodisi zaporedje bodisi seznam elementov znotraj zavitih oklepajev "{}", ločenih z vejicami. Začetna in končna postavka v zaporedju sta ločeni z dvema pikama "...".
Nekaj primerov:
V zgornjih primerih ukaz echo ustvari nize z razširitvijo oklepajev.
Povzetek:
- Regularni izrazi so nabor znakov, ki se uporabljajo za preverjanje vzorcev v nizih
- Imenujeta se tudi 'regularni izraz' in 'regularni izraz'
- Pomembno je, da se naučite regularnih izrazov za pisanje scenarijev
- Nekateri osnovni regularni izrazi so:
Simbol | Opisi |
---|---|
. | zamenja kateri koli znak |
se ujema z začetkom niza | |
$ | se ujema s koncem niza |
- Nekateri razširjeni regularni izrazi so:
Izraz | Opis |
---|---|
\ + | Ujema se z enim ali več pojavljanji prejšnjega znaka |
\? | Ujema se z nič ali enim pojavom prejšnjega znaka |
- Nekateri intervalni regularni izrazi so:
Izraz | Opis |
---|---|
{n} | Natančno se ujema s prejšnjim znakom, ki se prikaže 'n'-krat |
{n, m} | Ujema se s prejšnjim znakom, ki se pojavi 'n' krat, vendar ne več kot m |
{n,} | Ujema se s prejšnjim znakom le, če se pojavi 'n' krat ali več |
- Razširitev oklepaja se uporablja za ustvarjanje nizov. Pomaga pri ustvarjanju več nizov iz enega.