Ce sunt expresiile regulate Linux?
Expresiile regulate Linux sunt caractere speciale care ajută la căutarea datelor și la potrivirea modelelor complexe. Expresiile regulate sunt scurtate ca „regexp” sau „regex”. Acestea sunt utilizate în multe programe Linux, cum ar fi grep, bash, redenumire, sed etc.
Tipuri de expresii regulate
Pentru o mai bună înțelegere, să învățăm pe rând diferitele tipuri de Regex.
- Expresii regulate de bază
- Interval Expresii regulate
- Expresii regulate extinse
- rezumat
Faceți clic aici dacă videoclipul nu este accesibil
Expresii regulate de bază
Unele dintre comenzile frecvent utilizate cu expresii regulate sunt tr, sed, vi și grep. Mai jos sunt enumerate câteva dintre Regex de bază.
Simbol | Descrieri |
---|---|
. | înlocuiește orice personaj |
meciurile începutul șirului | |
$ | se potrivește la sfârșitul șirului |
* | se potrivește cu zero sau de mai multe ori cu caracterul precedent |
\ | Reprezentați personaje speciale |
() | Grupează expresii regulate |
? | Se potriveste exact cu un personaj |
Să vedem un exemplu.
Executați o mostră de pisică pentru a vedea conținutul unui fișier existent
Căutați conținut care conține litera „a”.
„ ^ ” se potrivește cu începutul unui șir. Să căutăm conținut care ÎNCEPE cu un
Doar liniile care încep cu caracter sunt filtrate. Liniile care nu conțin caracterul „a” la început sunt ignorate.
Să analizăm un alt exemplu -
Selectați numai acele linii care se termină cu t folosind $
Interval Expresii regulate
Aceste expresii ne spun despre numărul de apariții ale unui caracter dintr-un șir. Sunt
Expresie | Descriere |
---|---|
{n} |
Se potrivește cu caracterul precedent care apare exact de „n” ori |
{n, m} | Se potrivește cu caracterul precedent care apare „n” ori nu mai mult de m |
{n,} | Se potrivește cu caracterul precedent numai atunci când apare de „n” ori sau mai mult |
Exemplu:
Filtrează toate liniile care conțin caracterul „p”
Vrem să verificăm dacă caracterul „p” apare exact de 2 ori într-un șir unul după altul. Pentru aceasta, sintaxa ar fi:
cat sample | grep -E p\{2}
Notă: Trebuie să adăugați -E cu aceste expresii regulate.
Expresii regulate extinse
Aceste expresii regulate conțin combinații de mai multe expresii. Unii dintre ei sunt:
Expresie | Descriere |
---|---|
\ + |
Se potrivește cu una sau mai multe apariții ale caracterului anterior |
\? |
Se potrivește cu zero sau cu o apariție a caracterului anterior |
Exemplu:
Se caută toate caracterele „t”
Să presupunem că vrem să filtrăm liniile în care caracterul „a” precede caracterul „t”
Putem folosi comanda de genul
cat sample|grep "a\+t"
Extinderea bretelei
Sintaxa pentru extinderea parantezei este fie o secvență, fie o listă separată de virgule a elementelor din interiorul parantezelor „{}”. Elementele inițiale și finale ale unei secvențe sunt separate prin două puncte „…”.
Cateva exemple:
În exemplele de mai sus, comanda echo creează șiruri folosind extinderea acoladei.
Rezumat:
- Expresiile regulate sunt un set de caractere utilizate pentru a verifica tiparele în șiruri
- Ele mai sunt numite „regexp” și „regex”
- Este important să învățați expresii regulate pentru scrierea de scripturi
- Unele expresii regulate de bază sunt:
Simbol | Descrieri |
---|---|
. | înlocuiește orice personaj |
meciurile începutul șirului | |
$ | se potrivește la sfârșitul șirului |
- Unele expresii regulate extinse sunt:
Expresie | Descriere |
---|---|
\ + | Se potrivește cu una sau mai multe apariții ale caracterului anterior |
\? | Se potrivește cu zero sau cu o apariție a caracterului anterior |
- Unele expresii regulate ale intervalului sunt:
Expresie | Descriere |
---|---|
{n} | Se potrivește cu caracterul precedent care apare exact de „n” ori |
{n, m} | Se potrivește cu caracterul precedent care apare „n” ori nu mai mult de m |
{n,} | Se potrivește cu caracterul precedent numai atunci când apare de „n” ori sau mai mult |
- Extinderea bretelei este utilizată pentru a genera șiruri. Ajută la crearea mai multor șiruri dintr-una.