Modulelessen (1/4)
Alle vlaggen in detail
Volledige samenvatting van alle vlaggen die beschikbaar zijn in modern JavaScript (ES2024). Een vlag is een enkel teken dat het gedrag van de regex; ze kunnen in elke volgorde worden gecombineerd.
| Vlag | Naam | Effect |
|---|---|---|
g | Globaal | Vindt alle overeenkomsten, niet alleen de eerste (vereist voor matchAll). |
i | Hoofdlettergebruik negeren | Niet hoofdlettergevoelig (incl. Unicode-tekens met de vlag u/v). |
m | Meerdere regels | ^ en $ komen overeen met het begin/einde van een regel, niet alleen met de tekenreeks. |
s | Alles stippelen | De . komt ook overeen met nieuwe regel \n. |
u | Unicode | Correcte afhandeling van codepunten > 0xFFFF en schakelt \\p{...} in. |
v | Unicode v-modus | Moderne uitbreiding van u met vaste bewerkingen ([abc&&[def]]). |
y | Kleverig | Komt alleen overeen vanaf positie lastIndex, overslaan niet mogelijk. |
d | Heeft indexen | Het resultaat omvat indices met begin/einde van elke groep. |
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)Typische combinaties
g+i-- "vind alles, hoofdlettergevoelig". 80% van de praktische toepassingen.g+m-- om regel voor regel overeen te komen in tekst met meerdere regels.g+s-- "de punt komt overeen met alles, inclusief nieuwe regels". Handig om blokken over meerdere lijnen te extraheren.u(ofv) -- altijd als je te maken hebt met echte tekst in welke taal of emoji dan ook.
Unicode v-modus en vlagevolutie
De vlag v (beschikbaar in ES2024) vervangt u en maakt geavanceerde bewerkingen op sets mogelijk, zoals het kruisen en aftrekken van tekenklassen (bijv. [\\p{White_Space}&&\\p{ASCII}]).
Probeer het
Vind alle exemplaren van 'ciao', ongeacht het hoofdlettergebruik. Gebruik de juiste vlag.
Toon hint
Voeg de i-vlag (niet hoofdlettergevoelig) toe naast g.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Zoek een blok tussen `<pre>` en `</pre>`, zelfs als het nieuwe regels bevat. U moet de vlag gebruiken die ervoor zorgt dat de punt ook overeenkomt met de nieuwe regels.
Toon hint
Voeg de s-vlag zo toe. komt ook overeen met nieuwe regels, en gebruik lazy .+? om te stoppen bij de eerste </pre>.
Oplossing beschikbaar na 3 pogingen
Extra uitdaging
Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.
Toon hint
Gebruik de vlag v en schrijf de ingestelde aftrekking [\\p{ASCII}--\\p{Nd}]+ om getallen uit te sluiten.
Oplossing beschikbaar na 3 pogingen