Om du arbetar med text kommer du att uppskatta hur användbara reguljära uttryck är. Regelbundna uttryck är överallt i Linux för att söka igenom texten helt ner till tecknet. Denna artikel syftar till att ge ett litet "fuskark" för personer som helt enkelt behöver lite uppdatering från tid till annan.

Om du behöver lite introduktion till reguljära uttryck, kolla in vår nybörjarguide här.

KaraktärBeskrivningExempel
. (punkt)Matcha varje enskilt tecken, förutom newline (\ n)ct matchar "cat", "cut" eller "cot".
* (stjärna)Upprepa föregående uttryck 0 eller flera gånger (girigt läge)12*3 matchningar "13", "123", "1223", "12223". Den kan användas tillsammans med. (punkt) som m.*easier matchar "maketecheasier". Att använda .* sig är meningslöst eftersom det matchar allt och returnerar hela resultatet.
+ (plus)Upprepa föregående uttryck 1 eller flera gånger.12+3 matchningar "123", "1223", "12223"
? (frågetecken)Gör föregående föremål valfritt.ma?ke matchar "make", "mke"
^ (caret)Matcha från början av strängen^he matchar "hej", "helvete", "hjälp", "han är en pojke"
$ (dollar)Matcha från slutet av strängened$ matcher "agerade", säng ", " girighet "
(...) (rund konsol)Gruppering av tecken eller uttryck(ak) matchar "make", "take", "
{n} (lockigt fäste, där n är ett heltal större än 0)Matcha föregående objekt exakt n gånger12{3}5 matchningar "12225"
[...] (kvadratkonsol)matcha en enda karaktär i konsolen[abc] matchar "a", "b" eller "c" i strängen "abc".
[^ ...]Matcha alla tecken med undantag för de som definieras i konsolena[^b]c matchningar "aec", "acc", "adc" men inte "abc"
| (rör)Matcha antingen uttrycket till vänster eller höger om röret.col(o|ou)r matchar "färg", "färg"
- (hypen)Ange ett antal tecken som ska matcha. Används mestadels i [az], [AZ], [1-9], [a-zA-Z1-9]a[az]c matchningar "abc", "acc", "adc"
\ (backslash)Undvik en speciell karaktär och gör den till en vanlig karaktär.a\*c matchningar "a * c".
\ n, \ r, \ tmatcha en ny linje, retur och fliktecken respektive
\ B ... \ bMatcha ett ord inom gränsen.\bTech\b matchar ordet "Tech" i "Make Tech Easier".

Några mer komplexa exempel

Matchar ett visst antal tecken .

Här är ett exempel på ett amerikanskt telefonnummer, vilket inte räknar riktnummer:

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

Detta matchar alla telefonnummer i formatet "111-1111".

Gör ett mönster valfritt

Här är det amerikanska telefonnummerexemplet igen, den här gången med valfria områdenkoder. Vi antar att filen med de telefonnummer vi letar efter har telefonnummer strukturerad så här: 555-555-5555. Operatören "?" Anger ett valfritt mönster som föregår det.

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

Visst, det är lite fult, eftersom vanliga uttryck tenderar att vara, men det är mycket kraftfullt.

Hitta ett antal tecken :

 . {1, 3} 

Detta matchar alla tecken mellan 1 och 3 gånger.

Hämta Regular Expressions Cheat Sheet

Kan inte få nog av det här? Vi har förberett ett nedladdningsbart fuskblad för dig så att du kan komma åt det när du behöver det.

Ladda ner det här.