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.

\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 .