Tecken, metatecken och metasekvenser
Flash Player 9 och senare, Adobe AIR 1.0 och senare
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.
|
\unnnn
|
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.
|
\\xnn
|
Matchar tecken med det angivna ASCII-värdet såsom det uttrycks hexadecimalt med nn.
|