Det enklaste reguljära uttrycket är det som matchar en sekvens med tecken som i följande exempel.
var pattern:RegExp = /hello/;
Följande tecken, metatecken
,
har emellertid en speciell innebörd i reguljära uttryck:
^ $ \ . * + ? ( ) [ ] { } |
I nästa exempel matchar det reguljära uttrycket bokstaven A följt av inga eller fler instanser av bokstaven B (asterisken är ett metatecken som indikerar repetition), följt av bokstaven C:
/AB*C/
Om du vill inkludera ett metatecken utan att det ska ha någon speciell innebörd i mönstret för ett reguljärt uttryck måste du använda det omvända snedstrecket (
\
) som escape-tecken. Följande reguljära uttryck matchar bokstaven A, följt av bokstaven B, följt av en asterisk som i sin tur följs av bokstaven C:
var pattern:RegExp = /AB\*C/;
En
metasekvens
, som ett metatecken, har en speciell innebörd i ett reguljärt uttryck. En metasekvens består av flera tecken. I följande avsnitt beskrivs hur du använder metatecken och metasekvenser.
Om metatecken
I tabellen nedan finns en sammanställning av de metatecken som du kan använda i reguljära uttryck:
Metatecken
|
Beskrivning
|
^
(cirkumflex)
|
Används för att matcha början på strängen. Med taggen
m
(
multiline
) inställd används cirkumflexet även för att matcha början på en rad (se
Flaggor och egenskaper
). Observera, att när cirkumflexet används i början av en teckenklass visas en negation – inte början på en sträng. Mer information finns i
Teckenklasser
.
|
$
(dollartecken)
|
Används för att matcha slutet på strängen. Med taggen
m
(
multiline
) inställd används
dollartecknet
även för att matcha positionen före ett radmatningstecken (
\n
). Mer information finns i
Flaggor och egenskaper
.
|
\
(omvänt snedstreck)
|
Undertrycker den speciella metateckensbetydelsen för specialtecken.
Du kan också använda det omvända snedstrecket om du vill använda ett vanligt snedstreck i en litteral för reguljära uttryck som i
/1\/2/
(för att matcha tecknet 1, följt av snedstrecket och tecknet 2).
|
.
(punkt)
|
Matchar valfritt tecken.
En punkt matchar ett radmatningstecken (
\n
) bara om flaggan
s
(
dotall
) är inställd. Mer information finns i
Flaggor och egenskaper
.
|
*
(stjärna)
|
Matchar det föregående objektet repeterat noll gånger eller flera.
Mer information finns i
Kvantifierare
.
|
+
(plus)
|
Matchar det föregående objektet repeterat en eller flera gånger,
Mer information finns i
Kvantifierare
.
|
?
(frågetecken)
|
Matchar det föregående objektet repeterat noll eller en gång.
Mer information finns i
Kvantifierare
.
|
(
och
)
|
Definierar grupper inom det reguljära uttrycket. Du använder grupper för följande:
-
För att begränsa omfattningen för vertikalstrecket |:
/(a|b|c)d/
-
För att definiera omfattningen för en kvantifierare:
/(walla.){1,2}/
-
I bakåtreferenser.
\1
i följande reguljära uttryck matchar det som matchades med mönstret i den första parentetiska gruppen:
-
/(\w*) is repeated: \1/
Mer information finns i
Grupper
.
|
[
och
]
|
Definiera en teckenklass som definierar möjliga matchningar för ett enskilt tecken:
/[aeiou]/
matchar vart och ett av de angivna tecknen.
Inom teckenklasser använder du ett bindestreck (
-
) för att ange ett teckenintervall:
/[A-Z0-9]/
matchar alla versaler från A till Z eller siffror från 0 till 9.
Inom teckenklasser använder du ett omvänt snedstreck för att undertrycka tecknen ] och
- tecken:
/[+\-]\d+/
matchar antingen
+
eller
-
före en eller flera siffror.
Inom teckenklasserna hanteras andra tecken som vanligtvis är metatecken som vanliga tecken (inte metatecken) utan att något omvänt snedstreck behöver användas.
/[$]/
£ matchar antingen
$
eller
£.
Mer information finns i
Teckenklasser
.
|
|
(vertikalstreck)
|
Används för att kunna matcha uttryck på antingen den vänstra eller högra sidan om tecknet.
/abc|xyz/
matchar antingen
abc
eller
xyz
.
|
Om metasekvenser
Metasekvenser är tecken som har en speciell innebörd i ett mönster för reguljära uttryck. I tabellen nedan beskrivs dessa metasekvenser:
Metasekvens
|
Beskrivning
|
{
n
}
{
n
,}
och
{
n
,
n
}
|
Anger en numerisk kvantifierare eller ett kvantifieringsintervall för föregående objekt:
/A{27}/
matchar tecknet
A
repeterat
27
gånger.
/A{3,}/
matchar tecknet
A
repeterat
3
eller flera gånger.
/A{3,5}/
matchar tecknet
A
repeterat
3
till
5
gånger.
Mer information finns i
Kvantifierare
.
|
\b
|
Matchar positionen mellan ett ordtecken och ett icke-ordtecken. Om det första eller sista tecknet i strängen är i ett ordtecken, matchas även början eller slutet av strängen.
|
\B
|
Matchar positionen mellan två ordtecken. Matchar även positionen mellan två icke-ordtecken.
|
\d
|
Matchar en decimal siffra.
|
\D
|
Matchar alla tecken förutom siffror.
|
\f
|
Matchar arkmatningstecknet.
|
\n
|
Matchar radmatningstecknet.
|
\r
|
Matchar vagnreturstecknet.
|
\s
|
Matchar alla tomrum (blanksteg, tabb, ny rad eller returtecknet).
|
\S
|
Matchar alla tecken förutom tomrum.
|
\t
|
Matchar tabbtecknet.
|
\u
nnnn
|
Matchar Unicode-tecknet med teckenkoden som uttrycks hexadecimalt med
nnnn
. Exempelvis
\u263a
motsvarar ”smiley”-tecknet.
|
\v
|
Matchar ett lodrätt arkmatningstecken.
|
\w
|
Matchar ett ordtecken (
AZ
–,
az
–,
0-9
eller
_
). Tänk på att
\w
inte matchar icke-engelska tecken, t.ex.
é
,
ñ
eller
ç
.
|
\B
|
Matchar alla tecken förutom ordtecken.
|
\\x
nn
|
Matchar tecken med det angivna ASCII-värdet såsom det uttrycks hexadecimalt med
nn
.
|