Regulært uttrykk

Et regulært uttrykk brukes innen programmering og er en streng som beskriver et sett av strenger – et mønster – som følger gitte syntaksregler. Regulære uttrykk utviklet seg fra teorien om regulære språk. Regulære uttrykk brukes i mange tekstbehandlere og verktøy for å søke etter og manipulere tekst basert på gitte mønstre. I tillegg er det en rekke programmeringsspråk som støtter regulære uttrykk. Språkene C#, Java, JavaScript, Perl, PHP, Python og Ruby understøtter regulære uttrykk, med noe variasjon i hva som implementeres mellom språkene.

Språket Perl ble utviklet med regulære uttrykk som en sentral komponent i språket, og mange andre språk har lånt fra Perl ved å implementere støtte for biblioteket PCRE (Perl-compliant Regular Expressions). JavaScript mangler "lookbehind"-støtte, men dette kan komme med i en fremtidig versjon av JavaScript (EcmaScript 2016), da det er lagt inn forslag for å legge til slik funksjonalitet. I tillegg mangler JavaScript en god del attråverdig syntaktisk sukker man finner i Perl som gjør det enklere å jobbe med kode som gjør utstrakt bruk av regulære uttrykk, men mesteparten av dette kan nå enkelt tilføyes etter behov ved å benytte biblioteket XRegExp[1].

Eksempel på regulært uttrykk i JavaScript[rediger | rediger kilde]

I dette eksemplet benyttes et regulært uttrykk i programmeringsspråket JavaScript for å fjerne emneknagger fra en tekststreng. Funksjonen som benyttes heter replace og bytter ut alle forekomster av et mønster med et nytt mønster i en tekststreng. JavaScript angir regulære uttrykk mellom to skråstreker (/ /), og parametere, som endrer visse egenskaper ved uttrykket, kan angis rett etter den avsluttende skråstreken.

/**************************************************************************     Variabelen 'tekst' inneholder en tekst med emneknagger (#).    Vi ønsker ved hjelp av et regulært uttrykk å fjerne alle emneknagger fra    teksten. ***************************************************************************/ var tekst = "#Regulære uttrykk er utrolig #kult!";  /***********************************************************************  * /#(\S)/g = det regulære uttrykket  *   * Argument 1   * / .. /   = definerer det regulære uttrykket   * #        = alle ord vi ønsker å endre starter med en slik emneknagg  * ( .. )   = definerer den delen av strengen vi ønsker å ta vare på  * \S       = hvilken som helst sekvens av tegn som ikke er mellomrom  * g        = gjennomfør endringen på alle forekomster av uttrykket (g = "global")  *   * Argument 2  * $1       = henter ut verdien fra parentesene ( ) definert over  *************************************************************************/  tekst = tekst.replace(/#(\S)/g, "$1");  /** "Regulære uttrykk er utrolig kult!" skrives til konsollen **/ console.log(tekst); 

Referanser[rediger | rediger kilde]

  1. ^ Jeff Atwood. «XRegExp». Besøkt 3. januar 2016.