Med Terminal: Använda reguljära uttryck

En av de saker som jag alltid har älskat med Linux-terminalen är vad du kan uppnå med reguljära uttryck. Oavsett om vi behöver hitta komplicerad text eller ersätta den med något annat, kan användningen av reguljära uttryck förenkla jobbet kraftigt. Låt oss börja med början:

VARNING: Det här inlägget är smärtsamt. Att läsa detta inlägg hela tiden kan orsaka medvetslöshet. Ta pauser däremellan eller kontakta din läkare eller apotekspersonal innan du läser hela inlägget.

Vad är ett vanligt uttryck?

Ett vanligt uttryck är en serie specialtecken som låter oss beskriva en text som vi vill hitta. Om vi ​​till exempel ville söka efter ordet "linux" skulle det vara tillräckligt att lägga ordet i det program vi använder. Själva ordet är ett regelbundet uttryck. Hittills verkar det väldigt enkelt, men tänk om vi vill hitta alla siffror i en viss fil? Eller alla rader som börjar med stora bokstäver? I sådana fall kan du inte längre skriva ett enkelt ord. Lösningen är att använda ett reguljärt uttryck.

Regeluttryck kontra filmönster.

Innan vi går in på ämnet reguljära uttryck vill jag klargöra ett vanligt missförstånd om reguljära uttryck. Ett reguljärt uttryck är inte vad vi lägger som en parameter i kommandon som rm, cp, etc. för att referera till olika filer på hårddisken. Det skulle vara ett filmönster. Regeluttryck, även om de liknar att de använder vissa vanliga tecken, är olika. Ett filmönster avfyras mot filerna på hårddisken och returnerar de som helt matchar mönstret, medan ett reguljärt uttryck avfyras mot en text och returnerar raderna som innehåller den sökta texten. Till exempel det reguljära uttrycket som motsvarar mönstret *.* det skulle vara ungefär som ^.*\..*$

Typer av reguljära uttryck.

Inte alla program använder samma reguljära uttryck. Inte mycket mindre. Det finns flera mer eller mindre standardtyper av reguljära uttryck, men det finns program som ändrar syntaxen något, inkluderar sina egna tillägg eller till och med använder helt andra tecken. Därför, när du vill använda reguljära uttryck med ett program som du inte känner väl, är det första du ska göra att titta i manualen eller dokumentationen för programmet för att se hur de reguljära uttrycken det känner igen är.

För det första finns det två huvudtyper av reguljära uttryck, som finns i POSIX-standarden, vilket är vad Linux-verktyg använder. De är grundläggande och utökade reguljära uttryck. Många av kommandona som fungerar med reguljära uttryck, till exempel grep eller sed, låter dig använda dessa två typer. Jag kommer att prata om dem nedan. Det finns också PERL-stilens reguljära uttryck, och sedan finns det program som vim eller emacs som använder varianter av dessa. Beroende på vad vi vill göra kan det vara lämpligare att använda det ena eller det andra.

Testa reguljära uttryck.

Syntaxen för reguljära uttryck är inte trivial alls. När vi måste skriva ett komplicerat reguljärt uttryck kommer vi att stå framför en rad specialtecken som är omöjliga att förstå vid första anblicken, så för att lära oss hur man använder dem är det viktigt att ha ett sätt att göra alla tester vi vill ha och se resultaten enkelt. Det är därför jag nu kommer att lägga flera kommandon som vi kan göra testerna och experimentera med allt vi behöver tills vi har de reguljära uttrycken dominerade.

Den första är grep-kommandot. Detta är det kommando som vi använder oftast för att göra sökningar. Syntaksen är som följer:

grep [-E] 'REGEX' FICHERO
COMANDO | grep [-E] 'REGEX'

Jag rekommenderar att du alltid lägger ordinarie uttryck i enstaka citat så att skalet inte klarar det. Det första sättet är att hitta ett reguljärt uttryck i en fil. Den andra gör det möjligt att filtrera utdata från ett kommando genom ett vanligt uttryck. Som standard använder grep grundläggande reguljära uttryck. Alternativet -E är för att använda utökade reguljära uttryck.

Ett trick som kan hjälpa oss att se hur reguljära uttryck fungerar är att möjliggöra användning av färg i grep-kommandot. På det sättet markeras den del av texten som matchar det reguljära uttrycket vi använder. För att aktivera färgen i grep-kommandot, se bara till att miljövariabeln GREP_OPTIONS innehåller i värde --color, vilket kan göras med det här kommandot:

GREP_OPTIONS=--color

Vi kan lägga den i .bashrc för att alltid ha den aktiverad.

Ett annat sätt att använda reguljära uttryck är att använda kommandot sed. Detta är mer lämpligt för att ersätta text, men kan också användas för sökning. Syntaxen för det skulle vara så här:

sed -n[r] '/REGEX/p' FICHERO
COMANDO | sed -n[r] '/REGEX/p'

Kommandot sed använder också grundläggande reguljära uttryck som standard, du kan använda utökade reguljära uttryck med alternativet -r.

Ett annat kommando som jag också vill namnge är awk. Detta kommando kan användas för många saker, eftersom det låter dig skriva skript på ditt eget programmeringsspråk. Om det vi vill ha är att leta efter ett reguljärt uttryck i en fil eller i utdata från ett kommando, skulle sättet att använda det vara följande:

awk '/REGEX/' FICHERO
COMANDO | awk '/REGEX/'

Detta kommando använder alltid utökade reguljära uttryck.

För att göra våra tester behöver vi också en text som fungerar som ett exempel för att söka i den. Vi kan använda följande text:

- Lista de páginas wiki:

ArchLinux: https://wiki.archlinux.org/
Gentoo: https://wiki.gentoo.org/wiki/Main_Page
CentOS: http://wiki.centos.org/
Debian: https://wiki.debian.org/
Ubuntu: https://wiki.ubuntu.com/

- Fechas de lanzamiento:

Arch Linux: 11-03-2002
Gentoo: 31/03/2002
CentOs: 14-05-2004 03:32:38
Debian: 16/08/1993
Ubuntu: 20/10/2004

Desde Linux Rulez.

Det här är texten som jag kommer att använda för exemplen i resten av inlägget, så jag rekommenderar att du kopierar den till en fil så att den är praktisk från terminalen. Du kan ange det namn du vill ha. Jag har kallat det regex.

Början lektion.

Nu har vi allt du behöver för att börja testa reguljära uttryck. Låt oss gå lite och lite. Jag ska lägga upp flera exempel på sökningar med reguljära uttryck där jag kommer att förklara vad varje karaktär är för. De är inte så bra exempel, men eftersom jag ska ha ett mycket långt inlägg vill jag inte komplicera det längre. Och jag ska bara klia på ytan av vad som kan göras med reguljära uttryck.

Det enklaste av allt är att söka efter ett specifikt ord, till exempel antar att vi vill söka efter alla rader som innehåller ordet "Linux". Detta är det enklaste eftersom vi bara behöver skriva:

grep 'Linux' regex

Och vi kan se resultatet:

ArchLinux: https://wiki.archlinux.org/ Arch Linux: 11-03-2002 Från Linux Rulez.

Det här är de tre raderna som innehåller ordet "Linux" som, om vi har använt färgtricket, kommer att visas markerade. Observera att det känner igen ordet vi letar efter även om det är en del av ett längre ord som i "ArchLinux". Det markerar dock inte ordet "linux" som visas i webbadressen "https://wiki.archlinux.org/". Det beror på att det visas med gemener "l" och vi har letat efter det i versaler. Grep-kommandot har alternativ för detta, men jag ska inte prata om dem i en artikel om reguljära uttryck.

Med detta enkla test kan vi dra den första slutsatsen:

  • En normal karaktär placerad i ett reguljärt uttryck matchar sig själv.

Vilket är att om du lägger bokstaven "a" kommer den att leta efter bokstaven "a". Det verkar logiskt, eller hur? 🙂

Antag nu att vi vill söka efter ordet "CentO" följt av vilken karaktär som helst, men bara en enda karaktär. För detta kan vi använda "." -Tecknet, vilket är ett jokertecken som matchar alla tecken, men bara en:

grep 'CentO.' regex

Och resultatet är:

CentOS: http://wiki.centos.org/
cent: 14-05-2004 03:32:38

Vilket innebär att den innehåller "S" i "CentOS" även om det i ett fall är versaler och i ett annat gemener. Om någon annan karaktär dykt upp på den platsen skulle den också inkludera den. Vi har redan den andra regeln:

  • Karaktären "." matchar alla karaktärer.

Det är inte längre så trivialt som det verkade, men med detta kan vi inte göra mycket. Låt oss gå lite längre. Låt oss anta att vi vill hitta de rader som år 2002 och 2004 visas i. De verkar som två sökningar, men de kan göras på en gång så här:

grep '200[24]' regex

Vilket innebär att vi vill hitta siffran 200 följt av 2 eller 4. Och resultatet är detta:

ArchLinux: 11-03-2002
Gentoo: 31/03 /2002
CentO: 14-05-2004 03:32:38
Ubuntu: 20/10/2004

Vilket leder oss till den tredje regeln:

  • Flera tecken inom parentes matchar något av karaktärerna inom parentes.

Fästena ger mer spel. de kan också användas för att utesluta tecken. Antag till exempel att vi vill hitta webbplatser där ":" -tecknet visas men inte följs av "/". Kommandot skulle vara så här:

grep ':[^/]' regex

Det handlar helt enkelt om att sätta ett "^" som första karaktär i fästet. Du kan placera alla karaktärer du vill ha nedan. Resultatet av det här sista kommandot är följande:

archlinux: https://wiki.archlinux.org/
Gentoo: https://wiki.gentoo.org/wiki/Main_Page
CentOS: http://wiki.centos.org/
Debian: https://wiki.debian.org/
Ubuntu: https://wiki.ubuntu.com/
Arch Linux: 11-03-2002 Gentoo: 31/03/2002 CentOs: 14-05-2004 03:32:38 Debian: 16/08/1993 Ubuntu: 20/10/2004

Nu är ":" bakom distronamnen markerade, men inte de i URL: erna eftersom URL: erna har "/" efter sig.

  • Att sätta tecknet "^" i början av en parentes matchar alla tecken utom de andra tecknen i parentesen.

En annan sak vi kan göra är att ange ett antal tecken. Om du till exempel vill söka efter valfritt nummer följt av ett "-" ser det ut så här:

grep '[0-9]-' regex

Med detta specificerar vi ett tecken mellan 0 och 9 och sedan ett minustecken. Låt oss se resultatet:

ArchLinux: 11-03-2002 CentOs: 14-05-2004 03: 32: 38

Flera intervall kan anges inom parentes för att jämna ut intervall med enstaka tecken.

  • Att placera två tecken åtskilda av "-" inom parentes matchar alla tecken inom intervallet.

Låt oss se om vi kan välja den första delen av webbadresserna. Den som säger "http" eller "https". De skiljer sig bara i de sista "s", så låt oss göra det enligt följande:

grep -E 'https?' regex

Frågetecknet används för att göra karaktären till vänster valfri. Men nu har vi lagt till alternativet -E till kommandot. Detta beror på att förhör är ett inslag i utökade reguljära uttryck. Hittills använde vi grundläggande reguljära uttryck, så vi behövde inte lägga in något. Låt oss se resultatet:

ArchLinux: https: //wiki.archlinux.org/ Gentoo: https: //wiki.gentoo.org/wiki/Main_Page CentOS: http: //wiki.centos.org/ Debian: https: //wiki.debian.org/ Ubuntu: https: //wiki.ubuntu.com/

Så vi har redan en ny regel:

  • En karaktär följt av "?" matchar den karaktären eller ingen. Detta gäller endast för utökade reguljära uttryck.

Nu ska vi leta efter två helt olika ord. Låt oss se hur vi hittar raderna som innehåller både ordet "Debian" och "Ubuntu".

grep -E 'Debian|Ubuntu' regex

Med den vertikala stapeln kan vi separera två eller flera olika reguljära uttryck och leta efter de linjer som matchar någon av dem:

Debian: https://wiki.debian.org/
ubuntu: https://wiki.ubuntu.com/
Debian: 16 / 08 / 1993
ubuntu: 20 / 10 / 2004
  • Tecknet "|" Den används för att separera flera reguljära uttryck och matcha med något av dem. Det är också specifikt för utökade reguljära uttryck.

Låt oss fortsätta. Nu ska vi leta efter ordet "Linux", men bara där det inte sitter fast vid ett annat ord till vänster. Vi kan göra det så här:

grep '\

Den viktiga karaktären här är "<", men den måste undvikas genom att sätta "\" framför den så att grep tolkar den som ett specialtecken. Resultatet är följande:

Arch Linux: 11-03-2002 Från Linux Rulez.

Du kan också använda "\>" för att söka efter ord som inte ligger bredvid varandra. Låt oss gå med ett exempel. Låt oss prova det här kommandot:

grep 'http\>' regex

Produktionen den producerar är den här:

CentOS: http: //wiki.centos.org/

"Http" kom ut, men inte "https", för i "https" finns det fortfarande ett tecken till höger om "p" som kan vara en del av ett ord.

  • Tecknen "<" och ">" matchar början respektive slutet av ett ord. Dessa karaktärer måste undkommas så att de inte tolkas som bokstavliga karaktärer.

Vi går med saker lite mer komplicerade. Tecknet "+" matchar tecknet till vänster, upprepas minst en gång. Denna karaktär är endast tillgänglig med utökade reguljära uttryck. Med den kan vi till exempel söka efter sekvenser med flera nummer i rad som börjar med ":".

grep -E ':[0-9]+' regex

Resultat:

CentOs: 14-05-2004 03: 32: 38

Siffran 38 är också markerad eftersom den också börjar med ":".

  • Tecknet "+" matchar tecknet till vänster, upprepas minst en gång.

Du kan också styra antalet repetitioner med "{" och "}". Tanken är att sätta i parentes ett tal som anger det exakta antalet repetitioner vi vill ha. Du kan också sätta ett intervall. Låt oss se exempel på de två fallen.

Först ska vi hitta alla fyrsiffriga sekvenser som finns:

grep '[0-9]\{4\}' regex

Observera att de lockiga hängslen måste undvikas om vi använder grundläggande reguljära uttryck, men inte om vi använder utökade. Med utökad skulle det vara så här:

grep -E '[0-9]{4}' regex

Och resultatet i båda fallen skulle vara detta:

ArchLinux: 11-03-2002
Gentoo: 31/03 /2002
CentO: 14-05-2004 03:32:38
Debian: 16/08/1993
Ubuntu: 20/10 /2004
  • Tecknen "{" och "}" med ett nummer mellan dem matchar föregående tecken som upprepas det angivna antalet gånger.

Nu det andra exemplet med hängslen. Antag att vi vill hitta ord som har mellan 3 och 6 små bokstäver. Vi kan göra följande:

grep '[a-z]\{3,6\}' regex

Och resultatet skulle bli detta:

- LIsta de sidas wiki: TILLRCHLinux: https:/ /wiki.archlinux.org/ Gsedan: https:/ /wiki.gentoo.org/wiki/Main_Pålder
CentOS: http:/ /wiki.centos.org/ Debian: https:/ /wiki.debian.org/ ELLERåtervändsgränd: https:/ /wiki.ubuntu.storkök/ - Fdu saknar de lanseringen: TILLRCH Linux: 11-03-2002 Gsedan: 31/03/2002 CentOs: 14-05-2004 03:32:38
Debian: 16/08/1993 Uåtervändsgränd: 20/10/2004 DDet är Linux RUlez.

Som, som du kan se, inte liknar det vi ville ha. Det beror på att det reguljära uttrycket hittar bokstäverna med andra ord som är längre. Låt oss prova den här andra versionen:

grep '\<[a-z]\{3,6\}\>' regex

Resultat:

- Lista över sidor wiki: ArchLinux: https:/ /wiki.archlinux.org/ Gentoo: https:/ /wiki.gentoo.org/wiki/ Main_Page CentOS: http:/ /wiki.centos.org/ Debian: https:/ /wiki.debian.org/ Ubuntu: https:/ /wiki.ubuntu.storkök/

Detta ser redan mer ut som vi ville ha. Vad vi har gjort är att ordet ska börja strax före första bokstaven och sluta strax efter den sista.

  • Tecknen "{" och "} med två siffror mellan dem åtskilda med ett kommatecken matchar det föregående tecknet och upprepade antalet gånger som indikerats av de två siffrorna.

Låt oss nu titta på en karaktär som är "+". Det är "*" och dess funktion är mycket lika bara att den matchar valfritt antal tecken inklusive noll. Det vill säga, det gör detsamma som "+" men kräver inte att tecknet till vänster ska visas i texten. Låt oss till exempel försöka leta efter de adresser som börjar på wiki och slutar på org:

grep 'wiki.*org' regex

Låt oss se resultatet:

ArchLinux: https: //wiki.archlinux.org/ Gentoo: https: //wiki.gentoo.org/ wiki / Main_Page CentOS: http: //wiki.centos.org/ Debian: https: //wiki.debian.org/

Perfekt.

Nu den sista karaktären som vi ska se. "\" Karaktären används för att fly karaktären till höger så att den tappar sin speciella betydelse. Till exempel: Antag att vi vill hitta de linjer som slutar i en punkt. Det första som kan uppstå för oss kan vara detta:

grep '.$' regex

Resultatet är inte det vi letar efter:

- Lista över wiki-sidor:
ArchLinux: https://wiki.archlinux.org/
Gentoo: https://wiki.gentoo.org/wiki/Main_Page
CentOS: http://wiki.centos.org/
Debian: https://wiki.debian.org/
Ubuntu: https://wiki.ubuntu.com/
- Släppdatum: Arch Linux: 11-03-2002
Gentoo: 31-03-2002
CentOs: 14-05-2004 03:32:38
Debian: 16/08/1993
Ubuntu: 20/10/200/XNUMX4
Desde Linux rulez.

Detta beror på att "." matchar vad som helst, så att reguljära uttryck matchar det sista tecknet i varje rad oavsett vad det är. Lösningen är den här:

grep '\.$' regex

Nu är resultatet vad vi vill ha:

Desde Linux rulez.

Spel över

Även om ämnet för reguljära uttryck är så komplicerat att jag skulle ge för en serie artiklar, tror jag att jag redan har gett dig tillräckligt med smärta. Om du har lyckats komma fram, grattis. Och om du har läst allt detta på en gång, ta en aspirin eller något, för det kan inte vara bra.

För nu är det allt. Om du gillar den här artikeln kan du kanske skriva en annan. Under tiden rekommenderar jag dig att prova alla reguljära uttryck i terminalen för att se tydligt hur de fungerar. Och kom ihåg: Endast Chuck Norris kan analysera HTML med reguljära uttryck.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Hesekiel sade

    Vad skulle vårt liv vara utan regex?
    Artikeln är mycket användbar, men jag kommer att läsa den lite efter lite. Tack så mycket.

    1.    hexborg sade

      Tack för din kommentar. Jag tror fortfarande inte att min artikel har kommit ut. 🙂 Det har kommit ut med några fel, men jag hoppas att det är användbart. 🙂

  2.   Scalibur sade

    Tack youssssssss! ..

    För en tid sedan var jag tvungen att studera lite om reguljära uttryck .. ..Jag tackar för undervisningen .. och steg-för-steg-guiden för att lära var och en av dem ..

    Mycket bra! .. .. Jag kommer att få den aspirinet .. ee

    1.    hexborg sade

      Varsågod. Mod och att reguljära uttryck inte kan med dig. 🙂

  3.   tanrax sade

    Fantastiskt inlägg! Bra jobbat. Jag undrar hur många timmar det tog dig 😀

    1.    hexborg sade

      LOL!! Frågan är: Hur många timmar skulle det ha tagit mig om jag hade sagt allt jag tänkte säga? Oändlig !! 🙂

  4.   Tammuz sade

    en sak som jag inte visste, bra artikel!

    1.    hexborg sade

      Tack. Det är ett nöje att dela det med dig.

  5.   helena_ryuu sade

    bra förklaring. Grattis! riktigt bra!

    1.    hexborg sade

      Jag är glad att du tyckte att det var användbart. Så det är ett nöje att skriva.

  6.   anti sade

    Detta borde gå någonstans speciellt. Gilla den utvalda men har en mycket specifik användbarhet. Ganska användbart, även om jag skulle vilja se det tillämpas på Vim.

    1.    hexborg sade

      Det är en fråga om att ställa mig själv. Jag har några fler artiklar om regelbundna uttryck i åtanke. Och jag kunde prata om vim i dem. Det har vissa skillnader från vad jag har förklarat i den här artikeln. Det handlar om att fortsätta med det. 🙂

  7.   Fernando sade

    Bra!

    Din artikel är väldigt bra, den är nyfiken, nyligen (just nu) har jag publicerat på min hemsida ett inlägg som jag hade förberett i några dagar där jag har samlat en lista med metakaraktärer för reguljära uttryck och några exempel. Och det har varit rättvist att komma in DesdeLinux och se ett inlägg om samma ämne!

    Om det är någon tröst, är min MYCKET MER PUSSY 😀

    Visst är regex en av de mest användbara sakerna, jag använder dem vanligtvis för att trimma utmatningen av kommandona och behålla den del som intresserar mig, och sedan interagera med den i ett bash-skript, till exempel. Jag har också använt dem mycket på universitetet, och de är av avgörande betydelse för konstruktionen av kompilatorer (i definitionen av lexikografi och parsers). Kort sagt, en hel värld.

    Hälsningar och mycket mycket bra arbete.

    1.    hexborg sade

      Tack så mycket.

      Jag gillade också din artikel. Det är mer kortfattat än mitt. Det kan fungera som en snabbreferens. Det är en slump att vi har skrivit dem samtidigt. Du kan se att människor är intresserade av ämnet. 🙂

  8.   Elery sade

    Vanliga uttryck för dummies =), nu är det mer tydligt för mig, förresten, ett sätt att ha utdata med färg för grep, är att skapa ett alias i .bashrc alias grep = 'grep –color = alltid', om det fungerar för någon.

    hälsningar

    1.    hexborg sade

      Sann. Det är ett annat sätt att göra det. Tack för inmatningen. 🙂

  9.   KZKG ^ Gaara sade

    O_O ... bit bidrag !!! O_O ...
    Tack så mycket för inlägget, jag väntade på något sådant en stund lol, jag lämnar det öppet för att läsa det lugnt hemma med inget krångel att koncentrera lol.

    Tack för artikeln, det gör jag verkligen 😀

    1.    hexborg sade

      Jag visste att du skulle vilja ha det. LOL!! Sanningen är att många saker saknas, men jag har redan en andra del i åtanke. 🙂

  10.   Eliecer Tates sade

    Bra artikel, om jag bara hade läst den igår, hade den lektion jag gav idag varit ännu enklare för mina elever!

    1.    hexborg sade

      LOL!! Synd att jag var sen, men glad att det är användbart. 🙂

  11.   LeoToro sade

    Slutligen !!!, super bra inlägget .... Jag hittade äntligen något som tydligt förklarar de reguljära uttrycken ... ..

    1.    hexborg sade

      Det finns mycket information där ute, men det är svårare att hitta något som är lätt att förstå. Jag är glad att jag fyllde det gapet. 🙂

      Hälsningar.

  12.   Shakespeare Rhodes sade

    Hej, jag behöver hjälp, jag måste göra en sökning i / var / loggar med formatet: yymmdd, och loggarna kommer som 130901.log -130901.log, jag måste söka efter alla som är mellan 1 september och 11 oktober , Det enda jag lyckades göra var att ta bort hela september men jag vet inte hur man gör hela kedjan:

    ex: 1309 [0-3] returnerar loggarna mellan 1 september och 30 september, men jag vet inte hur jag ska komma in i samma kedja från 1 till 11 oktober.

    1.    hexborg sade

      Att göra det med reguljära uttryck är lite komplicerat. Det tänker mig att något som detta kan fungera:

      13(09[0-3]|10(0|1[01]))

      Det är ett utökat reguljärt uttryck. Du säger inte vilket verktyg du använder, så jag kan inte ge dig mer information.

      Hur som helst tror jag att detta är fallet istället för att använda reguljära uttryck är det bättre att göra det med hitta. Du kan prova något så här:

      hitta. -newermt '01 sep '-a! -newermt '11 oct '-tryck

      Tur. Hoppas det här kan hjälpa dig.

  13.   chipo sade

    Hej! Först och främst vill jag tacka dig för ditt arbete eftersom den här sidan ligger inom min "topp 3" av de bästa Linux-sajterna.
    Jag tränade och jag visste inte varför en RegExp på ett telefonnummer inte fungerade för mig och det var att jag saknade "-E" (vilket jag insåg tack vare detta inlägg).
    Jag ville fråga dig om du inte känner till en bra pdf eller webbplats där det finns övningar på RegExp, men med lite fantasi kan du öva på att uppfinna dem själv.

    Hälsningar, Pablo.

  14.   Lugn sade

    Mycket bra, jag läste bara allt, och ja nu behöver jag en aspirin 🙂

  15.   Oscar sade

    Den bästa förklaringen jag har sett på reguljära uttryck. Mitt tack till författaren för att dela detta arbete.

    En hälsning.

  16.   alexander sade

    Jag gillade verkligen en mycket bra förklaring