RegEx-tester
Regelmatig testen en debuggen expressies
Geen overeenkomsten gevonden
Algemene patronen
Wat is normaal Uitdrukkingen?
Reguliere expressies (regex of regexp) zijn patronen die worden gebruikt om tekencombinaties in snaren. Ze zijn een ongelooflijk krachtig hulpmiddel voor het zoeken, valideren, extraheren en tekst vervangen. Oorspronkelijk ontwikkeld in de jaren vijftig, wordt regex nu in vrijwel elk programma ondersteund programmeertaal en teksteditor.
Deze tool maakt gebruik van de regex-engine van JavaScript, die de ECMAScript-standaard implementeert. Test uw patronen hier voordat u ze in uw code gebruikt: alle verwerking vindt plaats in uw browser zonder gegevens naar servers gestuurd.
Regex-syntaxis Snelle referentie
Teken Klassen
\d- Elk cijfer (0-9)\w- Woordteken (a-z, A-Z, 0-9, _)\s- Witruimte (spatie, tab, nieuwe regel).- Elk teken behalve nieuwe regel[abc]- Elk van a, b of c[^abc]- Geen a, b of c
Kwantificatoren
*- 0 of meer+- 1 of meer?- 0 of 1 (optioneel){n}- Precies n keer{n,}- n of meer keer{n,m}- Tussen n en m keer
Ankers & Grenzen
^- Begin van string/regel$- Einde van string/regel\b- Woordgrens\B- Niet-woordgrens
Groepen & Afwisseling
(abc)- Capture-groep(?:abc)- Niet-capture-groepa|b- A of b\1- Terugverwijzing naar groep 1
Vlaggen begrijpen
Veelgestelde vragen
Waarom moet ik ontsnappen backslashes?
In JavaScript-tekenreeksen is backslash een escape-teken. Om een letterlijke backslash op te nemen in a
regex-patroon uit een string, heb je \\nodig. Voor \\d
in een string wordt bijvoorbeeld \d in de
regex.
Wat is het verschil tussen * en +?
* overeenkomsten
nul of meer exemplaren (kan niets matchen). + vereist at
minste één voorval. a* komt bijvoorbeeld overeen met "",
"a", "aaa", terwijl alleen a+ komt overeen met "a", "aaa".
Hoe koppel ik een letterlijke waarde periode of beugel?
Speciale regex-tekens moeten worden voorzien van een backslash. Gebruik
\.om een letterlijke punt te matchen. Voor
haakjes: \[
en \].
Tekens die moeten ontsnappen: . * + ? ^ $ { } [ ] \ | ( )
Waarom is mijn patroon te veel matchen?
Regex-kwantificatoren zijn standaard 'hebzuchtig': ze komen zoveel mogelijk overeen. Voeg ? toe na a
kwantificator voor 'luie' matching (bijvoorbeeld .*? in plaats van
.*).
Algemene gebruiksscenario's
- Formuliervalidatie: Valideer e-mails, telefoon getallen, URL's en aangepaste notaties
- Zoeken en vervangen: Zoeken en transformeren tekstpatronen in editors en code
- Logparsing: Extraheer tijdstempels, IP's, en foutcodes uit logbestanden
- Gegevensextractie: Specifieke gegevens ophalen uit HTML, JSON of ongestructureerde tekst
- Invoeropschoning: Verwijderen of ontsnappen gevaarlijke karakters