Regulære udtryk i JavaScript: En introduktion

Sidste ændring: 5 November 2025
Forfatter: TecnoDigital
Regulære udtryk i JavaScript

Velkommen til denne komplette guide til regulære udtryk i JavaScript! I denne artikel vil vi udforske i detaljer, hvad regulære udtryk er, hvordan de bruges i JavaScript, og hvordan de kan hjælpe dig med at forenkle og optimere din kode. Fra det grundlæggende til praktiske eksempler dækker vi alt, hvad du behøver at vide for at begynde at få mest muligt ud af regulære udtryk i dine JavaScript-projekter. Så lad os komme i gang!

Introduktion til regulære udtryk

Regulære udtryk er søgemønstre, der bruges til at finde og manipulere tekst i tegnstrenge. De består af en kombination af bogstavelige tegn og metategn, som definerer specifikke regler for at finde match i tekst. Disse regler kan omfatte søgning efter specifikke tegn, tegnintervaller, gentagelser, alternativer og meget mere.

I JavaScript oprettes regulære udtryk ved hjælp af klassen RegExp eller ved at bruge det bogstavelige /patrón/. Mønsteret er selve det regulære udtryk, som er indesluttet mellem skråstreger. Lad os se på et simpelt eksempel:

const regex = /hola/;

 

I dette eksempel har vi lavet et regulært udtryk, der vil søge efter strengen "hej" i en tekst. Nu hvor vi har en grundlæggende forståelse af, hvad regulære udtryk er, lad os undersøge nogle nøglebegreber og avancerede teknikker til at arbejde med dem i JavaScript.

Grundlæggende syntaks for regulære udtryk

Regulære udtryk i JavaScript består af flere nøgleelementer, der giver os mulighed for at definere mere komplekse søgemønstre. Disse elementer omfatter bogstavelige tegn, metategn, karakterklasser, kvantificerere, ankre og mere. Lad os se på nogle eksempler på disse elementer:

Bogstavelige tegn

Bogstavelige tegn er dem, der søges efter, som de vises i teksten. For eksempel det regulære udtryk /hola/ vil søge efter tegnsekvensen "hej" i en tekststreng. Det er vigtigt at bemærke, at regulære udtryk er store og små bogstaver, så /hola/ vil ikke matche "Hello" eller "HELLO".

Metakarakterer

Metategn er specielle tegn, der har en særlig betydning i regulære udtryk. For eksempel metakarakteren . Det bruges til at repræsentere et hvilket som helst tegn undtagen en ny linje. En anden almindelig metakarakter er ^, som bruges til at angive starten på en tekststreng. For eksempel det regulære udtryk /^hola/ vil matche enhver tekststreng, der starter med "hej".

Karakter klasser

Karakterklasser bruges til at søge efter et hvilket som helst tegn i et bestemt sæt. For eksempel det regulære udtryk /[aeiou]/ vil matche enhver vokal i en tekststreng. Det er også muligt at bruge tegnintervaller i tegnklasser. For eksempel det regulære udtryk /[a-z]/ vil matche ethvert lille bogstav.

Kvantifikatorer

Kvantifikatorer bruges til at angive antallet af forekomster af et element i et regulært udtryk. For eksempel kvantifikatoren * angiver, at det forrige element kan optræde nul eller flere gange. Kvantifikatoren + angiver, at det foregående element skal vises en eller flere gange. For eksempel det regulære udtryk /a+/ vil matche et eller flere "a" i en tekststreng.

Ankre

Ankre bruges til at angive placeringen af ​​et match i en tekststreng. For eksempel ankeret \b matcher en ordgrænse. For eksempel det regulære udtryk /bholab/ vil kun matche ordet "hej" som en fulde orduden at matche længere ord, der indeholder "hej" som en del af dem.

Dette er blot et par eksempler på den grundlæggende syntaks for regulære udtryk i JavaScript. Efterhånden som vi læser denne artikel , vil vi udforske mere avancerede koncepter og teknikker til at arbejde med regulære udtryk i JavaScript.

Grundlæggende matchsøgning

En af de mest almindelige operationer, der udføres med regulære udtryk, er at søge efter match i en tekststreng. I JavaScript kan vi bruge metoden search() for at finde det første match af et regulært udtryk i en tekststreng. Lad os se et eksempel:

const texto = "¡Hola, mundo!";
const regex = /mundo/;
const indice = texto.search(regex);
console.log(indice); // 7

I dette eksempel har vi brugt metoden search() for at finde det første match af det regulære udtryk /mundo/ i tekststrengen "Hej, verden!" Metoden search() returnerer indekset for det første fund, eller -1, hvis der ikke findes noget match.

Ud over metoden search(), JavaScript giver også andre nyttige metoder til at arbejde med regulære udtryk, som f.eks match(), replace(), split() y test(). Hver af disse metoder har sit eget formål og kan bruges efter dine specifikke behov.

Brug af modifikatorer og flag

I JavaScript kan regulære udtryk indeholde modifikatorer og flag, der giver mulighed for mere fleksible og tilpassede søgninger. Modifikatorer føjes til slutningen af ​​et regulært udtryk og ændrer dets adfærd. Nogle af de mest almindelige modifikatorer er:

jeg (ufølsom)

Modifikatoren i bruges til at udføre en søgning uden store og små bogstaver. For eksempel det regulære udtryk /hola/i vil matche både "hej" og "hej" eller "HEJ".

g (global)

Modifikatoren g Det bruges til at udføre en global søgning på hele tekststrengen, i stedet for at stoppe ved det første fundne match. For eksempel det regulære udtryk /a+/g vil matche alle forekomster af et eller flere "a"'er i en tekststreng.

  Komplet guide til installation af Pi-hole med Docker

m (flerlinjer)

Modifikatoren m Det bruges til at udføre en søgning på flere linjer i en tekststreng. For eksempel det regulære udtryk /^hola/m vil matche ordet "hej" i begyndelsen af ​​hver linje i en tekststreng.

Ud over modifikatorer tillader JavaScript også brugen af ​​flag i regulære udtryk. Flag tilføjes efter den anden skråstreg, når der oprettes et regulært udtryk ved hjælp af klassen RegExp. Nogle af de mest almindelige flag er:

jeg (ufølsom)

Ligesom modifikatoren i, flaget i udfører en søgning uden store og små bogstaver. For eksempel det regulære udtryk new RegExp("hola", "i") vil matche både "hej" og "hej" eller "HEJ".

g (global)

Ligesom modifikatoren g, flaget g udfører en global søgning på hele tekststrengen. For eksempel det regulære udtryk new RegExp("a+", "g") vil matche alle forekomster af et eller flere "a"'er i en tekststreng.

m (flerlinjer)

Ligesom modifikatoren m, flaget m udfører en søgning på flere linjer i en tekststreng. For eksempel det regulære udtryk new RegExp("^hola", "m") vil matche ordet "hej" i begyndelsen af ​​hver linje i en tekststreng.

Brug af modifikatorer og flag i regulære JavaScript-udtryk kan være meget nyttigt til at skræddersy søgninger til forskellige tilfælde og specifikke krav. Eksperimentér med dem, og find ud af, hvordan du kan få mest muligt ud af disse funktioner i din kode.

Metakarakterer og specialtegn

Metategn og specialtegn er nøgleelementer i regulære udtryk, der giver os mulighed for at udføre mere kraftfulde og fleksible søgninger. Vi har allerede nævnt nogle metakarakterer, som f.eks . y ^, men der er mange flere, som du kan bruge i dine regulære udtryk. Lad os se på nogle af de mest almindelige metakarakterer og specialtegn:

. (punkt)

Metakarakteren . Det bruges til at repræsentere et hvilket som helst tegn undtagen en ny linje. For eksempel det regulære udtryk /h.t/ vil matche "hat", "hot", "hit" og ethvert andet ord på tre bogstaver, der starter med "h" og slutter med "t".

\ (omvendt skråstreg)

Omvendt skråstreg bruges til at undslippe specialtegn i et regulært udtryk. For eksempel, hvis du vil søge efter et bogstaveligt punktum i en tekststreng, skal du undslippe det ved at bruge omvendt skråstreg. Det regulære udtryk /www\.google\.com/ vil matche tekststrengen "www.google.com".

\d (ciffer)

Metakarakteren \d bruges til at søge efter ethvert ciffer fra 0 til 9. For eksempel det regulære udtryk /\d+/ vil matche et eller flere ciffer i en tekststreng.

\w (alfanumerisk tegn)

Metakarakteren \w bruges til at søge efter ethvert alfanumerisk tegn (store og små bogstaver, cifre og understregninger). For eksempel det regulære udtryk /\w+/ vil matche ethvert ord med et eller flere alfanumeriske tegn i en tekststreng.

Dette er blot nogle få eksempler på de metategn og specialtegn, du kan bruge i dine regulære udtryk. Efterhånden som du bliver mere fortrolig med regulære udtryk i JavaScript, vil du opdage en lang række muligheder for at forfine dine søgninger og tekstmanipulationer.

Karakterklasser og intervaller

Tegnklasser er et andet nøgleelement i regulære udtryk, der giver os mulighed for at søge efter et hvilket som helst tegn inden for et bestemt sæt. I JavaScript kan vi bruge parenteser [] at definere en karakterklasse. Lad os se på nogle eksempler på karakterklasser og intervaller:

[aeiou]

Karakterklassen [aeiou] vil matche enhver vokal i en tekststreng. For eksempel det regulære udtryk /[aeiou]/ vil matche "a", "e", "i", "o" eller "u" i en tekststreng.

[az]

Udvalget af tegn [a-z] vil matche ethvert lille bogstav i det engelske alfabet. For eksempel det regulære udtryk /[a-z]/ vil matche ethvert lille bogstav i en tekststreng.

[0-9]

Udvalget af tegn [0-9] vil matche ethvert ciffer fra 0 til 9 i en tekststreng. For eksempel det regulære udtryk /[0-9]/ vil matche ethvert enkeltcifret nummer.

[A-Z-z]

Karakterklassen [A-Za-z] vil matche alle store eller små bogstaver i det engelske alfabet. For eksempel det regulære udtryk /[A-Za-z]/ vil matche ethvert bogstav i en tekststreng.

Tegnklasser og -intervaller giver os mulighed for at definere specifikke sæt af tegn, der skal søges efter i et regulært udtryk. Brug dem til at skræddersy dine søgninger til dine særlige behov og begrænsninger.

Kvantifikatorer og gentagelser

Kvantifikatorer og gentagelser er nøgleelementer i regulære udtryk, der giver os mulighed for at angive antallet af forekomster af et element i en tekststreng. Lad os se på nogle af de mest almindelige kvantifikatorer i JavaScript:

* (stjerne)

Kvantifikatoren * angiver, at det forrige element kan optræde nul eller flere gange. For eksempel det regulære udtryk /a*/ vil matche nul eller flere 'a'er i en tekststreng.

+ (mere)

Kvantifikatoren + angiver, at det foregående element skal vises en eller flere gange. For eksempel det regulære udtryk /a+/ vil matche et eller flere "a" i en tekststreng.

  Bedste open source-alternativer til Claude Code

? (spørgsmål)

Kvantifikatoren ? angiver, at det forrige element kan forekomme nul eller én gang. For eksempel det regulære udtryk /colou?r/ vil matche både "farve" og "farve".

{n} (præcis n gange)

Kvantifikatoren {n} angiver, at det forrige element skal optræde nøjagtigt n gange. For eksempel det regulære udtryk /a{3}/ vil matche nøjagtigt tre "a" i en tekststreng.

{n,} (mindst n gange)

Kvantifikatoren {n,} angiver, at det forrige element skal vises mindst n gange. For eksempel det regulære udtryk /a{2,}/ vil matche to eller flere 'a'er i en tekststreng.

{n,m}

Kvantifikatoren {n,m} angiver, at det foregående element skal optræde mindst n gange og højst m gange. For eksempel det regulære udtryk /a{2,4}/ vil matche to, tre eller fire "a"'er i en tekststreng.

Dette er blot nogle få eksempler på kvantificerere, du kan bruge i dine regulære udtryk. Kvantifikatorer giver os mulighed for at specificere gentagelsesmønstre i tekstsøgninger og manipulationer, hvilket gør det lettere at udtrække specifik information fra tekststrenge.

Ankre og ordgrænser

Ankre og ordgrænser er elementer, der giver os mulighed for at angive placeringen af ​​et match i en tekststreng. Disse elementer er især nyttige, når vi vil søge efter hele ord eller sikre, at et match er i begyndelsen eller slutningen af ​​en linje. Lad os se på nogle eksempler på ankre og ordgrænser:

\b (ordgrænse)

Ordet grænse \b matcher grænsen mellem et alfanumerisk tegn og et ikke-alfanumerisk tegn. For eksempel det regulære udtryk /\bjavascript\b/ vil kun matche ordet "javascript" som et komplet ord, ikke længere ord, der indeholder "javascript" som en del af dem.

^ (start af linje)

Karakteren ^ Det bruges til at angive begyndelsen af ​​en linje i en tekststreng. For eksempel det regulære udtryk /^hola/ vil matche ordet "hej" i begyndelsen af ​​hver linje i en tekststreng.

$ (slut på linje)

Karakteren $ Det bruges til at angive slutningen af ​​en linje i en tekststreng. For eksempel det regulære udtryk /mundo$/ vil matche ordet "verden" i slutningen af ​​hver linje i en tekststreng.

\A (start af tekst)

Karakteren \A Det bruges til at angive starten på al tekst i en tekststreng, ikke kun starten på en linje. For eksempel det regulære udtryk /^\AHola/ vil matche ordet "Hej" i begyndelsen af ​​hele teksten.

\Z (slutning af tekst)

Karakteren \Z bruges til at angive slutningen af ​​al tekst i en tekststreng, ikke kun slutningen af ​​en linje. For eksempel det regulære udtryk /Mundo\Z/ vil matche ordet "Verden" i slutningen af ​​hele teksten.

Ankre og ordgrænser giver os mulighed for at søge efter match på bestemte steder i en tekststreng, hvilket kan være nyttigt i situationer, hvor vi ønsker at sikre, at et match er på en bestemt position.

Grupper og optagelser

Grupper og indfangninger er avancerede elementer i regulære udtryk, der giver os mulighed for at gruppere underudtryk og fange dem til senere brug. Lad os se, hvordan grupper og optagelser fungerer:

( ) (parenteser)

Parenteserne er De plejer at gruppere underudtryk i et regulært udtryk. For eksempel det regulære udtryk /(d{2})-(d{2})-(d{4})/ se bruges til at søge efter en dato i formatet "dd-mm-åååå. Grupperne ( ) De giver os mulighed for at fange værdierne for dag, måned og år separat.

\1, \2, \3 (gruppereferencer)

Gruppereferencer bruges til at henvise til tidligere indfangede grupper i et regulært udtryk. For eksempel det regulære udtryk /(\w+) \1/ vil matche ethvert ord efterfulgt af det samme ord gentaget. For eksempel "hej hej", "verdensverden" osv.

?: (ikke-fangende gruppe)

Symbolet ?: Det bruges til at oprette ikke-fangende grupper. Disse grupper bruges, når vi vil gruppere underudtryk, men vi ønsker ikke at fange resultatet. For eksempel det regulære udtryk /https?:\/\/(?:www\.)?google\.com/ vil matche både "http://www.google.com" og "https://google.com", men vil kun fange den relevante del af webadressen.

Grupperinger og optagelser giver os mulighed for at strukturere og organisere vores regulære udtryk på en mere effektiv og læsbar måde. De giver også mulighed for at opfange specifikke værdier til senere brug i vores applikationer.

Nyttige metoder til at arbejde med regulære udtryk

JavaScript giver flere nyttige metoder til at arbejde med regulære udtryk. Disse metoder giver os mulighed for at udføre almindelige operationer såsom at søge, erstatte og opdele tekststrenge ved hjælp af regulære udtryk. Lad os se på nogle af disse metoder:

kamp()

Metoden match() Det bruges til at finde alle matches af et regulært udtryk i en tekststreng og returnere en matrix med resultaterne. For eksempel:

const texto = "¡Hola, mundo!";
const regex = /o/g;
const coincidencias = texto.match(regex);
console.log(coincidencias); // ["o", "o"]

I dette eksempel har vi brugt metoden match() for at finde alle matcher af det regulære udtryk /o/g i tekststrengen "Hej, verden!" Metoden match() returnerer et array med alle de fundne matches.

  Komplet guide til Gemini Code Assist: funktioner, udgaver og nyheder

udskift ()

Metoden replace() bruges til at erstatte match af et regulært udtryk i en tekststreng med en ny værdi. For eksempel:

const texto = "¡Hola, mundo!";
const regex = /mundo/;
const nuevoTexto = texto.replace(regex, "amigo");
console.log(nuevoTexto); // "¡Hola, amigo!"

I dette eksempel har vi brugt metoden replace() for at erstatte det regulære udtryks match /mundo/ i tekststrengen "Hej, verden!" for ordet "ven". Metoden replace() returnerer en ny tekststreng med de foretagne erstatninger.

dele()

Metoden split() bruges til at opdele en tekststreng i et array af understrenge ved hjælp af et regulært udtryk som separator. For eksempel:

const texto = "Hola,mundo,amigo";
const regex = /,/g;
const subcadenas = texto.split(regex);
console.log(subcadenas); // ["Hola", "mundo", "amigo"]

I dette eksempel har vi brugt metoden split() at opdele tekststrengen "Hej, verden, ven" i en række understrenge ved hjælp af det regulære udtryk /,/g som en separator. Metoden split() returnerer et array med de resulterende understrenge.

prøve()

Metoden test() Det bruges til at kontrollere, om et regulært udtryk har nogen match i en tekststreng. Metoden vender tilbage true hvis der er et match og false ellers. For eksempel:

const texto = "Hola, mundo!";
const regex = /mundo/;
const resultado = regex.test(texto);
console.log(resultado); // true

I dette eksempel har vi brugt metoden test() for at kontrollere, om det regulære udtryk /mundo/ har nogen match i tekststrengen "Hej, verden!". Metoden test() Hent tilbage true fordi der er en tilfældighed.

Dette er blot nogle af de mest almindelige metoder til at arbejde med regulære udtryk i JavaScript. Hver af disse metoder har sit eget formål og kan bruges efter dine specifikke behov. Eksperimenter med dem og opdag, hvordan de kan gøre dit arbejde med regulære udtryk nemmere og hurtigere.

Ofte stillede spørgsmål

Hvad er regulære udtryk i JavaScript? Regulære udtryk i JavaScript er søgemønstre, der bruges til at finde og manipulere tekst i tegnstrenge.

Hvordan opretter man regulære udtryk i JavaScript? Regulære udtryk i JavaScript oprettes ved hjælp af klassen RegExp eller ved at bruge det bogstavelige /patrón/.

Hvad er forskellen mellem modifikatorer og flag i regulære udtryk? Modifikatorer føjes til slutningen af ​​et regulært udtryk og ændrer dets adfærd. Flag tilføjes efter den anden skråstreg, når der oprettes et regulært udtryk ved hjælp af klassen RegExp.

Hvad er forskellen på metoden match() og metoden test()? Metoden match() Det bruges til at finde alle matches af et regulært udtryk i en tekststreng og returnerer en matrix med resultaterne. Metoden test() Det bruges til at kontrollere, om et regulært udtryk har nogen match i en tekststreng og returnerer en boolesk værdi.

Hvordan kan jeg fange specifikke værdier ved hjælp af grupper i et regulært udtryk? Grupperne ( ) i et regulært udtryk giver dig mulighed for at fange specifikke underudtryk. Du kan derefter referere til disse grupper ved hjælp af referencerne \1, \2Osv

Hvilke metoder kan jeg bruge til at arbejde med regulære udtryk i JavaScript? Nogle nyttige metoder til at arbejde med regulære udtryk i JavaScript er match(), replace(), split() y test(). Hver af disse metoder har sit eget formål og kan bruges efter dine specifikke behov.

Konklusion

Regulære udtryk er et effektivt værktøj til at arbejde med tekst i JavaScript. Forståelse af det grundlæggende , syntaksen og de avancerede teknikker bag regulære udtryk vil give dig mulighed for at søge, erstatte og manipulere tekststrenge effektivt og præcist. Fra grundlæggende matchning til brug af modifikatorer, grupper og andre nyttige metoder har du lært, hvordan du får mest muligt ud af regulære udtryk i dine JavaScript-projekter.

Husk at øve og eksperimentere med forskellige mønstre og brug cases til at styrke din forståelse og fortrolighed med regulære udtryk. Tøv ikke med at bruge regulære udtryk for at forbedre effektiviteten og kvaliteten af ​​din kode!