Lær og brug regelmæssige udtryk med Kodos

Regelmæssige udtryk er meget sort magi for folk, der ikke kender dem, men hvis du kan lære regelmæssige udtryk, kan der spares en masse tid og kræfter, og nogle meget seje ting kan gøres.

Så hvad er et regelmæssigt udtryk? Et regelmæssigt udtryk (også skrevet regex eller regexp, kort sagt) er et meget kort og fleksibelt middel til at matche strenge i teksten. Dette kan opnås ved at matche grupper af tegn, mønstre eller andre egenskaber ved tekst. Hvorfor ville et regelmæssigt udtryk være nyttigt? Du kan godt bruge regexp til alle slags ting, og mange programmer som grep eller vi forstår regexps, hvilket betyder, at de er nyttige til at søge efter tekst og manipulere tekst.

Hvis du f.eks. Forsøgte at jage eventuelle henvisninger til en bestemt RAID-matrix i systemlogfilerne, kunne du gøre:

 $ grep md / var / log / meddelelser * 

Og manuelt filtrer ud, hvad du vil, eller kør grep-kommandoen flere gange (dvs. hvis du var interesseret i to problematiske arrays, md1 og md3, kan du gøre dette med to kommandoer). Du kan også bruge regexps med grep til at gøre det:

 $ egrep 'md 1, 3' / var / log / meddelelser * 

egrep er synonymt med grep -e ; kommandoen -e fortæller grep, at søgekriterierne er en regexp at bruge. Denne regexp er meget forenklet: md 1, 3 indikerer at matche på md1 og md3; dette vil ekskludere md0, md2 og andre.

Det kan imidlertid være vanskeligt at lære regelmæssige udtryk. Og ikke alle regulære udtryk oprettes lige: POSIX regexps, for eksempel, adskiller sig lidt fra Perl-kompatible regexps. Hvis du bruger Komodo IDE, kommer det med en fantastisk regulær ekspressionsværktøjssæt. Hvis du ikke bruger den kommercielle Komodo IDE, er der dog andre muligheder.

En sådan mulighed er Kodos. Kodos er et Python-program, der bruger PyQt til at give et GUI-interface. Dette regexp-program er ikke så funktionsrige som Komodo IDE, men er gratis og open source og gør et godt stykke arbejde med at undervise og skabe regelmæssige udtryk.

Programgrænsefladen er delt i tre ruder: det regelmæssige udtryk, der skal testes; søgestrengen (eller udskiftningen) til at anvende det regulære udtryk til; og resultatruden, der viser, hvad regexp matcher i strengen, hvad der ville blive udskiftet, og hvilke grupper der matcher. For eksempel givet strengen python-1.2.3-4.fc10.2 og det regulære udtryk (\ w +) - (0-9. +) - 0-9 + \. Fc (0-9 +) \.?. * Matchvinduet fremhæver strengen. Det regulære udtryk matcher faktisk den medfølgende streng, som vist i figur A. I gruppevinduet ser du tre matchende grupper (grupper specificeres ved hjælp af parenteserne): gruppe et er python, gruppe to er 1.2.3 og gruppe tre er 10 .

Figur A

Regexp-udskiftning bruger tal til at matche en gruppe, så for at bruge det regulære udtryk til at trække i python- strengen, ville du bruge \ 1 som erstatningsværdi. Ved at skifte til vinduet erstatte streng og indtaste \ 1 og skifte bundvindue for at vise erstatningsfeltet, vil du se, hvad resultatet af udskiftningsmønsteret er.

Endelig, hvis du bruger de regelmæssige udtryk i python, vil Kodos hjælpsomt give prøvekode, du kan bruge i et Python-program til at bruge det regulære udtryk og få de resultater, du leder efter.

Mens Kodos er et Python-program og er lidt mere rettet mod Python-programmerere, vil det fungere godt for alle, der er interesseret i at lære regexps. Det giver også et regexp-bibliotek, der indeholder nogle brugerbidragte regexps, samt en regexp-referencemanual.

For et gratis program er det svært at slå Kodos. Og selvom du kender regexps, men har brug for et værktøj til at debugge mere komplicerede regelmæssige udtryk, er Kodos en fantastisk tilføjelse til dit udviklingsværktøjssæt.

Hent PDF-versionen af ​​dette tip her.

TechRepublics gratis Linux- og Open Source-nyhedsbrev leveres hver tirsdag og indeholder tip, artikler og andre ressourcer, der hjælper dig med at finpudse dine Linux-færdigheder.

© Copyright 2020 | mobilegn.com