Regex-tester — JavaScript Tester voor reguliere expressies online — Numio
Test reguliere expressies van JavaScript online: live matchmarkering, vastleg- en benoemde groepen, alle vlaggen en een vervangingsvoorbeeld. Langzame patronen stoppen na 1 seconde.
Werkt in je browser · Geen registratie
Spiekbriefje
.- Elk teken behalve een regeleinde (gebruik de vlag s om ze op te nemen)
\d \w \s- Cijfer, woordteken [A-Za-z0-9_], witruimte
\D \W \S- Geen cijfer, geen woordteken, geen witruimte
[abc] [^abc]- Eén van a, b, c / elk teken behalve a, b, c
[a-z]- Elk teken van a tot z
^ $- Begin / einde van invoer (van elke regel met de m-vlag)
\b- Woordgrens
* + ?- 0 of meer, 1 of meer, 0 of 1
{2,5}- Tussen 2 en 5 keer ({3} precies, {2,} tenminste)
*? +?- Luie versies: match er zo weinig mogelijk
(abc)- Groep vastleggen
(?<name>abc)- Genoemde opnamegroep
(?:abc)- Groepeer zonder vast te leggen
\1 \k<name>- Herhaal welke groep 1 / de genoemde groep overeenkwam
a|b- een of b
(?=a) (?!a)- Gevolgd door een / niet gevolgd door een
(?<=a) (?<!a)- Voorafgegaan door een / niet voorafgegaan door een
\p{L}- Elke letter in elke taal (vereist de u- of v-vlag)
Maakt gebruik van de JavaScript (ECMAScript) regex-engine van uw browser, zodat de resultaten overeenkomen met de JavaScript-code. Andere motoren zoals PCRE, Python of Java verschillen in sommige syntaxis. Het matchen wordt uitgevoerd in een achtergrondwerker en stopt na 1 seconde om de pagina te beschermen tegen catastrofale backtracking.
Hoe werkt het
- Voer een reguliere expressie in en vink de gewenste vlaggen aan (g vindt alle overeenkomsten).
- Plak de tekst om te testen; overeenkomsten worden gemarkeerd en vermeld met hun index- en opnamegroepen.
- Schakel Vervangen in om een voorbeeld van het resultaat van String.replace te bekijken met $1- of $<name>-referenties.
Voorbeeld
Patroon: (?<user>\w+)@(\w+)\.com vlaggen: g Tekst: alice@example.com, bob@test.com Overeenkomsten: alice@example.com (user = alice, 2 = example), bob@test.com Vervangen door $<user> at $2 → alice at example, bob at test
Details en beperkingen
Patronen worden uitgevoerd met de JavaScript RegExp-engine ingebouwd in uw browser, dus lookbehind, benoemde groepen, Unicode-eigenschappen ontsnappen en de d-vlag gedragen zich precies zoals in uw code. De v-vlag verschijnt alleen als uw browser dit ondersteunt.
Matching gebeurt in een Web Worker op uw apparaat; er wordt niets geüpload. Een run wordt na ongeveer 1 seconde gestopt en er worden maximaal 1.000 wedstrijden vermeld.
FAQ
Waarom vindt mijn regex slechts één overeenkomst?
In JavaScript stopt een regex zonder de g (algemene) vlag bij de eerste wedstrijd. Vink g aan om elke match te vinden; deze tester somt ze vervolgens allemaal op.
Wat is een catastrofale terugtrekking?
Sommige patronen, zoals (a+)+$ of (.*)*, kunnen exponentiële tijd in beslag nemen op tekst die bijna overeenkomt. Deze tool voert de regex uit in een aparte werker en stopt deze na 1 seconde, zodat de pagina reageert en in plaats daarvan een fout weergeeft.
Zal een hier geteste regex werken in Python of PHP?
Vaak, maar niet altijd. Deze tester maakt gebruik van de motor van JavaScript. Python, PHP (PCRE) en Java hebben verschillende functies en syntaxis voor zaken als benoemde groepen, lookbehind en vlaggen, dus controleer de patronen die ervan afhankelijk zijn opnieuw.
Gerelateerde tools
Referenties
Pagina bijgewerkt: