Hvis du arbejder med tekst, vil du sætte pris på, hvor nyttige regulære udtryk er. Regelmæssige udtryk er overalt i Linux for at søge gennem tekst lige ned til tegnet. Denne artikel har til formål at give et lille "snydeark" til folk, der simpelthen behøver en lille genopfriskning fra tid til anden.

Hvis du har brug for en introduktion til regulære udtryk, så tjek vores nybegyndervejledning her.

KarakterBeskrivelseEksempel
. (Dot)Match enhver enkelt tegn, undtagen newline (\ n)ct matcher "kat", "cut" eller "barneseng".
* (stjerne)Gentag det foregående udtryk 0 eller flere gange (grådig tilstand)12*3 kampe "13", "123", "1223", "12223". Det kan bruges sammen med. (prik) som m.*easier matcher "maketecheasier". Brug af .* I sig selv er meningsløst, da det matcher alt og returnerer det fulde resultat.
+ (plus)Gentag det foregående udtryk 1 eller flere gange.12+3 kampe "123", "1223", "12223"
? (spørgsmålstegn)Gør det forrige emne valgfrit.make ma?ke matcher "make", "mke"
^ (caret)Match fra begyndelsen af ​​strengen^he matcher "hej", "helvede", "hjælp", "han er en dreng"
$ (dollar)Match fra slutningen af ​​strengened$ matches "acted", bed ", " greed "
(...) (rund beslag)Gruppering af tegn eller udtryk(ak) matcher "make", "take", "
{n} (krøllet beslag, hvor n er et heltal større end 0)Match det forrige element nøjagtigt n gange12{3}5 kampe "12225"
[...] (firkantet beslag)match en enkelt karakter i beslaget[abc] matcher "a", "b" eller "c" i strengen "abc".
[^ ...]Match ethvert tegn undtagen de der er defineret i beslageta[^b]c kampe "aec", "acc", "adc", men ikke "abc"
| (rør)Match enten udtrykket til venstre eller højre af røret.col(o|ou)r matcher "farve", "farve"
- (hypen)Angiv en række tegn, der skal matche. Bruges hovedsageligt i [az], [AZ], [1-9], [a-zA-Z1-9]a[az]c kampe "abc", "acc", "adc"
\ (backslash)Undslippe en speciel karakter og gøre det til en almindelig karakter.a\*c kampe "a * c".
\ n, \ r, \ tmatch henholdsvis en ny linje, retur og faneblad
\ B ... \ bMatch et ord inden for grænsen.\bTech\b svarer til ordet "Tech" i "Make Tech Easier".

Nogle mere komplekse eksempler

Matcher et bestemt antal tegn .

Her er et eksempel på et amerikansk telefonnummer, der ikke tæller områdekoden:

 [0-9] {3} - [0-9] {4} 

Dette svarer til ethvert telefonnummer i formatet "111-1111".

Gør et mønster valgfrit

Her er det amerikanske telefonnummer eksempel igen, denne gang med valgfrie områdekoder. Vi antager, at filen med de telefonnumre, vi leder efter, har telefonnumre struktureret som denne: 555-555-5555. Operatøren "?" Angiver et valgfrit mønster forud for det.

 ([0-9] {3} -)? [0-9] {3} - [0-9] {4} 

Sikker på, det er lidt grimt, da regelmæssige udtryk plejer at være, men det er meget kraftfuldt.

Finde en række tegn :

 . {1, 3} 

Dette matcher ethvert tegn mellem 1 og 3 gange.

Download Regular Expressions Cheat Sheet

Kan ikke få nok af dette? Vi har forberedt et downloadbart snydeark til dig, så du kan få adgang til det, når du har brug for det.

Hent det her.