Regulært uttrykk

Fra Wikipedia, den frie encyklopedi
(Omdirigert fra Regulæruttrykk)
Hopp til navigering Hopp til søk

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.