Linux Regular Expression Tutorial: Grep Regex Eksempel

Hvad er regulære Linux-udtryk?

Linux regulære udtryk er specialtegn, som hjælper med at søge data og matche komplekse mønstre. Regulære udtryk forkortes som 'regexp' eller 'regex'. De bruges i mange Linux-programmer som grep, bash, rename, sed osv.

Typer af regulære udtryk

For at lette forståelsen, lad os lære de forskellige typer af Regex én efter én.

Klik link. hvis videoen ikke er tilgængelig

Grundlæggende regulære udtryk

Nogle af de almindeligt anvendte kommandoer med regulære udtryk er tr, sed, vi og grep. Nedenfor er nogle af de grundlæggende Regex.

Symbol Descriptioner
. erstatter ethvert tegn
^ matcher starten af ​​strengen
$ matcher enden af ​​strengen
* matcher nul eller flere gange det foregående tegn
\ Repræsenterer specialtegn
() Grupper regulære udtryk
? Matcher nøjagtigt ét tegn

Lad os se et eksempel.

Udfør katteprøve for at se indholdet af en eksisterende fil

Grundlæggende regulære udtryk

Søg efter indhold, der indeholder bogstavet 'a'.

Grundlæggende regulære udtryk

'^' matcher starten af ​​en streng. Lad os søge efter indhold, der STARTER med en

Grundlæggende regulære udtryk

Kun linjer, der starter med tegn, filtreres. Linjer, der ikke indeholder tegnet 'a' i starten, ignoreres.

Lad os se på et andet eksempel -

Grundlæggende regulære udtryk

Vælg kun de linjer, der slutter med t vha $

Grundlæggende regulære udtryk

Interval Regulære udtryk

Disse udtryk fortæller os om antallet af forekomster af et tegn i en streng. De er

Udtryk Description
{ikke} Matcher det foregående tegn, der vises 'n' gange nøjagtigt
{n,m} Matcher det foregående tegn, der vises 'n' gange, men ikke mere end m
{n, } Matcher kun det foregående tegn, når det vises 'n' gange eller mere

Eksempel:

Filtrer alle linjer fra, der indeholder tegnet 'p'

Interval Regulære udtryk

Vi vil kontrollere, at tegnet 'p' optræder præcis 2 gange i en streng efter hinanden. Til dette vil syntaksen være:

cat sample | grep -E p\{2}

Interval Regulære udtryk

Bemærk: Du skal tilføje -E med disse regulære udtryk.

Udvidede regulære udtryk

Disse regulære udtryk indeholder kombinationer af mere end ét udtryk. Nogle af dem er:

Udtryk Description
\+ Matcher en eller flere forekomster af det forrige tegn
\? Matcher nul eller én forekomst af det forrige tegn

Eksempel:

Søger efter alle tegn 't'

Udvidede regulære udtryk

Antag, at vi ønsker at bortfiltrere linjer, hvor tegnet 'a' går foran tegnet 't'

Vi kan bruge kommando som

cat sample|grep "a\+t"

Udvidede regulære udtryk

Bøjleudvidelse

Syntaksen for klammerudvidelse er enten en sekvens eller en kommasepareret liste over elementer inden for krøllede klammer "{}". Start- og slutelementerne i en sekvens er adskilt af to punktum "...".

Nogle eksempler:

Bøjleudvidelse

I ovenstående eksempler opretter ekko-kommandoen strenge ved hjælp af klammerudvidelsen.

Sammendrag:

  • Regulære udtryk er et sæt tegn, der bruges til at kontrollere mønstre i strenge
  • De kaldes også 'regexp' og 'regex'
  • Det er vigtigt at lære regulære udtryk for at skrive manuskripter
  • Nogle grundlæggende regulære udtryk er:
Symbol Descriptioner
. erstatter ethvert tegn
^ matcher starten af ​​strengen
$ matcher enden af ​​strengen
  • Nogle udvidede regulære udtryk er:
Udtryk Description

\+

Matcher en eller flere forekomster af det forrige tegn
\? Matcher nul eller én forekomst af det forrige tegn
  • Nogle regulære intervaludtryk er:
Udtryk Description
{ikke} Matcher det foregående tegn, der vises 'n' gange nøjagtigt
{n,m} Matcher det foregående tegn, der vises 'n' gange, men ikke mere end m
{n, } Matcher kun det foregående tegn, når det vises 'n' gange eller mere
  • Bøjleudvidelsen bruges til at generere strenge. Det hjælper med at skabe flere strenge ud af én.

Dagligt Guru99 Nyhedsbrev

Start dagen med de seneste og vigtigste AI-nyheder leveret lige nu.