Skip to content

Regex-tecken förklarade

Alla grundläggande regex-token: ankare, teckenklasser, kvantorer, grupper och flaggor. Vad var och en betyder, med en konkret träff. Snabbreferensen som hör till verktyget Regex Tester.

Regex-tecken byggs ihop: stapla ett ankare, en teckenklass och en kvantor för att bygga ett mönster. ^ fäster vid en början, \d matchar en siffra och {2,4} anger antalet gånger. Kombinera dem som ^\d{2,4}$ för att matcha en hel sträng med två till fyra siffror. Läs ett mönster från vänster till höger, en token i taget. Verktyget Regex Tester låter dig prova alla dessa token live mot din egen text.

Referenstabell · 55 posterÖppna verktyget regex-tester →
55 of 55 rows
Ankare
Matchar positionen i början av strängen, eller början av en rad med flaggan m.^He → He
Matchar positionen i slutet av strängen, eller slutet av en rad med flaggan m.lo$ → lo
Matchar en ordgräns, positionen mellan ett ordtecken och ett tecken som inte är ett ordtecken.\bcat\b → cat
Matchar en icke-ordgräns, positionen mellan två ordtecken eller två tecken som inte är ordtecken.\Bar → ar
Teckenklasser
Matchar valfritt enskilt tecken utom radbrytning, om inte flaggan s är satt.a.c → abc
Matchar valfri siffra, 0 till och med 9.\d → 7
Matchar valfritt tecken som inte är en siffra.\D → a
Matchar valfritt ordtecken: en bokstav, en siffra eller ett understreck.\w → _
Matchar valfritt tecken som inte är ett ordtecken.\W → !
Matchar valfritt blanktecken: ett mellanslag, en tabb eller en radbrytning.a\sb → a b
Matchar valfritt tecken som inte är ett blanktecken.\S → a
Matchar vilket som helst av tecknen som listas inom klamrarna.[aeiou] → e
Matchar valfritt tecken som inte är ett av de listade inom klamrarna.[^aeiou] → s
Matchar valfritt enskilt tecken i det givna intervallet, från a till z.[a-z] → m
Matchar valfritt enskilt tecken, även radbrytning — det gängse idiomet för en punkt som även täcker radbrytningar.[\s\S] → \n
Matchar valfri unicode-bokstav från valfritt skriftsystem, när flaggan u är satt.\p{L} → é
Matchar valfritt unicode-siffertecken från valfritt skriftsystem, när flaggan u är satt.\p{N} → ٣
Escape: matchar ett enskilt radmatningstecken.\n → line feed
Escape: matchar ett enskilt tabbtecken.\t → tab
Escape: matchar ett enskilt vagnreturtecken.\r → carriage return
Matchar det enskilda tecknet med den givna tvåsiffriga hexadecimala koden.\x41 → A
Matchar det enskilda tecknet med den givna hexadecimala kodpunkten, när flaggan u är satt.\u{1F600} → 😀
Klassnitt, med flaggan v: matchar tecken som finns i båda mängderna samtidigt.[[a-z]&&[^aeiou]] → t
Kvantorer
Matchar föregående token noll eller fler gånger.ab* → abbb
Matchar föregående token en eller flera gånger.a+ → aaa
Matchar föregående token noll eller en gång, vilket gör den valfri.colou?r → color
Matchar föregående token exakt n gånger.a{3} → aaa
Matchar föregående token n eller fler gånger.a{2,} → aaaa
Matchar föregående token mellan n och m gånger, gränserna inkluderade.a{2,4} → aaa
Lat kvantor: matchar föregående token noll eller fler gånger och tar så få som möjligt.<.*?> on <a><b> → <a>
Lat kvantor: matchar föregående token en eller flera gånger och tar så få som möjligt.\d+? on 123 → 1
Lat kvantor: matchar föregående token noll eller en gång och föredrar noll.ab?? on ab → a
Lat kvantor: matchar föregående token mellan n och m gånger och tar så få som möjligt.a{1,3}? on aaa → a
Possessiv kvantor (PCRE): matchar föregående token noll eller fler gånger och behåller den, utan att någonsin backa och prova andra uppdelningar..*+a on aaa → no match
Grupper och alternation
En fångande grupp: matchar sekvensen och memorerar den för backreferences.(ab)+ → abab
En icke-fångande grupp: matchar sekvensen utan att memorera den.(?:ab)+ → abab
Positiv lookahead: matchar om nästa tecken är abc, utan att konsumera dem.a(?=b) → a
Negativ lookahead: matchar om nästa tecken inte är abc, utan att konsumera dem.a(?!b) → a
Backreference: matchar exakt den text som fångande grupp 1 fångade.(a)\1 → aa
Alternation: matchar antingen uttrycket före eller det efter lodstrecket.cat|dog → dog
En namngiven fångande grupp: matchar sekvensen och memorerar den under det givna namnet.(?<year>\d{4}) → year = 2026
Positiv lookbehind: matchar om de föregående tecknen är abc, utan att konsumera dem.(?<=a)b → b
Negativ lookbehind: matchar om de föregående tecknen inte är abc, utan att konsumera dem.(?<!a)b → b
Namngiven backreference: matchar exakt den text som den namngivna gruppen fångade.(?<w>\w+) \k<w> → the the
Atomär grupp (PCRE): matchar sekvensen en gång och backar aldrig in i den.(?>a+)ab on aab → no match
Branch reset (PCRE): alternation där varje gren återanvänder samma gruppnummer.(?|(cat)|(dog)) → \1 = dog
Flaggor
Global flagga: hitta alla träffar i strängen, inte bara den första./a/g on aaa → a, a, a
Skiftlägesokänslig flagga: ignorera skillnaden mellan versaler och gemener vid matchning./Hi/i → hi
Multiline-flagga: behandla ^ och $ som början och slutet på varje rad./^a/m matches at the start of each line
Dotall-flagga: låt punkten även matcha en radbrytning./a.b/s → a\nb
Unicode-flagga: behandla ett mönster och dess indata som unicode-kodpunkter./\u{1F600}/u → 😀
Sticky-flagga: matcha endast vid den exakta position som lastIndex anger./ab/y matches only at lastIndex
Indexflagga: lägger till start- och slutpositionen för varje träff i resultatet./b/d on abc → indices [1, 2]
Flagga för unicode-mängder: en striktare u som även tillåter mängdoperationer inuti en klass./[a-z&&[^aeiou]]/v → t
Utökad flagga (PCRE): ignorerar icke-escapade blanktecken och #-kommentarer inuti mönstret./a b/x → ab