Regex-fusklapp och visualiserare

Lär dig symbolerna i reguljära uttryck snabbt, dela upp ett mönster i begripliga delar och testa det på din egen text. Allt körs i din webbläsare.

/
/
Klistra in ett reguljärt uttryck för att se förklaringen del för del.
Flaggor
Delar
Skriv ett mönster ovan för att se dess delar.

Valfritt. Skriv eller klistra in text så visas träffarna medan du skriver.

Fusklapp


. Vilket tecken som helst utom radbrytning Exempel: a.c
\d En siffra (0-9) Exempel: \d+
\D Vilket tecken som helst som inte är en siffra Exempel: \D+
\w Ett ordtecken (a-z, A-Z, 0-9, _) Exempel: \w+
\W Vilket tecken som helst som inte är ett ordtecken Exempel: \W+
\s Ett blanktecken Exempel: \s+
\S Vilket tecken som helst som inte är blanktecken Exempel: \S+
^ Textens början Exempel: ^hello
$ Textens slut Exempel: world$
\b En ordgräns Exempel: \bword\b
\B En position som inte är en ordgräns Exempel: \Bword\B
[abc] Teckenmängd Exempel: [abc]+
[^abc] Negerad teckenmängd Exempel: [^abc]+
[a-z] Teckenmängd Exempel: [a-z0-9]+
(abc) Fångstgrupp Exempel: (abc)
(?:abc) Grupp utan fångst Exempel: (?:abc)+
(?<n>) Namngiven grupp Exempel: (?<year>\d{4})
\1 Bakåtreferens Exempel: (\w)\1
a|b Alternativ Exempel: cat|dog
? Valfritt (0 eller 1) Exempel: colou?r
* Upprepar 0 eller flera gånger Exempel: a*
+ Upprepar 1 eller flera gånger Exempel: a+
{m,n} Upprepar ett bestämt antal gånger Exempel: a{2,4}
+? Samma sak, men så kort som möjligt Exempel: <.+?>
(?=) Bara om det följs av Exempel: foo(?=bar)
(?!) Bara om det inte följs av Exempel: foo(?!bar)
(?<=) Bara om det föregås av Exempel: (?<=\$)\d+
(?<!) Bara om det inte föregås av Exempel: (?<!\$)\d+
\. Behandlar nästa tecken bokstavligt Exempel: 3\.14
\n En radbrytning Exempel: line\n
\t En tabb Exempel: \tindented

Vanliga valideringsmönster


AnvändningMönsterBeskrivningMatchar
E-postadress^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$Kontrollerar den vanliga formen på en e-postadress.user@example.com
Telefonnummer (USA)^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$Matchar tiosiffriga nummer med eller utan bindestreck, mellanslag eller parenteser.123-456-7890
Postnummer (USA)^\d{5}(-\d{4})?$Matchar postnummer med fem och med nio siffror.90210-1234
Datum (ÅÅÅÅ-MM-DD)^\d{4}-\d{2}-\d{2}$Matchar ett enkelt numeriskt datumformat.2026-09-16
IP-adress (IPv4)^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$Matchar formen på en IPv4-adress, utan att kontrollera att varje del ligger mellan 0 och 255.192.168.1.1

De här mönstren kontrollerar formen på ett värde, inte om det finns. En adress kan matcha e-postmönstret perfekt och ändå studsa, så använd dem för att fånga skrivfel tidigt, aldrig som enda validering.

Vad verktyget ger dig


En kompakt referens över symbolerna i reguljära uttryck, en uppdelning som gör om mönstret till vanliga meningar, och en testare som visar vad mönstret matchar i din egen text.

När du har nytta av det


Använd det medan du skriver ett mönster, medan du läser någon annans mönster, eller medan du förklarar grunderna i regex för en kollega. Att läsa mönstret högt, bit för bit, är oftast det som får polletten att trilla ner.

Begränsningar


Uppdelningen följer JavaScripts reguljära uttryck, eftersom det är dem din webbläsare kör. Andra dialekter skiljer sig: PCRE, Python, Java och .NET lägger var och en till egen syntax, och POSIX-verktyg som grep och sed använder en äldre och mindre syntax. Testaren kör ditt mönster i en egen tråd och stoppar det efter några sekunder, så ett mönster som backar i all evighet kan inte frysa sidan.

Så använder du fusklappen


Sök efter en symbol, eller klistra in ett mönster och läs det en del i taget.

  1. Bläddra i eller sök bland symbolerna.
  2. Klistra in ett mönster för att se det uppdelat i delar.
  3. Skriv exempeltext för att se vad som faktiskt matchar, och justera sedan mönstret.

Vanliga frågor


Skickar det här verktyget mina mönster någonstans?
Nej. Både uppdelningen och matchningen körs i din webbläsare, och varken mönstret eller texten skickas någonstans.

Vilken regex-dialekt följer det?
JavaScripts, eftersom det är motorn som gör jobbet. Det mesta här — teckenklasser, grupper, kvantifierare, ankare — är detsamma i alla dialekter.

Kan jag testa mitt mönster här?
Ja. Skriv text i testrutan så markeras träffarna, med de fångade grupperna listade för var och en.

Varför stoppades mitt mönster?
Vissa mönster tar exponentiell tid på text som nästan matchar — en kvantifierare inuti en annan, som (a+)+b, är den vanliga orsaken. Testaren ger upp efter några sekunder i stället för att frysa sidan, och själva avbrottet är i sig en nyttig varning: samma mönster skulle sätta stopp för en server.

Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking