Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Naar hoofdinhoud springen
Gizke.com
Blog

Regex-tester

Werkt op je apparaat. Er wordt niets verstuurd.

Vlaggen

Veelvoorkomende patronen

Testtekst

Geen overeenkomsten gevonden

Uitleg

Typ hierboven een patroon om een uitsplitsing te zien van wat elk onderdeel doet

Test, verklaar en debug JavaScript-reguliere-expressies met live markering van overeenkomsten, volledig in uw browser.

Een reguliere expressie (regex) is een patroon dat wordt gebruikt om tekst te matchen, te vinden of te vervangen - hetzelfde onderliggende hulpmiddel dat zoeken-en-vervangen in code-editors, formuliervalidatie en logbestandanalyse aandrijft. Deze tester voert de native regex-engine van JavaScript rechtstreeks in uw browser uit: typ een patroon en een testtekst, en hij markeert elke overeenkomst, splitst vastlegginggroepen op, geeft een voorbeeld van vervangingen en legt in gewone taal uit wat elk onderdeel van het patroon doet. Niets van wat u typt wordt ooit ergens geüpload.

Veelgestelde vragen

Welke regex-variant gebruikt dit?
De ingebouwde regex-engine van JavaScript (die achter RegExp en String.prototype.match/replace), omdat alles hier client-side in uw browser draait in plaats van op een server. Deze lijkt sterk op PCRE maar heeft enkele verschillen - lookbehind-ondersteuning hangt bijvoorbeeld af van de engineversie, en benoemde groepen gebruiken de syntax (?<naam>...).
Waarom matcht mijn patroon maar één keer?
Standaard stopt een regex zonder de g-vlag (globaal) na de eerste overeenkomst - dit weerspiegelt hoe RegExp.exec() en String.match() zich in JavaScript daadwerkelijk gedragen. Schakel hierboven de g-vlag in om elke overeenkomst in de testtekst te vinden in plaats van alleen de eerste.
Wat is het verschil tussen (...) en (?:...)?
Beide groeperen delen van een patroon, maar alleen (...) - een vastlegginggroep - slaat op wat er is gematcht, zodat u er later naar kunt verwijzen (als $1, $2, ... in een vervanging, of in de groepenlijst van de overeenkomst). (?:...) is een groep zonder vastlegging: deze groepeert en past kwantoren toe zonder de overeenkomst te bewaren, handig wanneer u groepering nodig heeft maar niet om de vastgelegde tekst geeft.
Hoe werken benoemde groepen en $<naam>-vervangingen?
Schrijf (?<naam>...) in plaats van (...) om een groep onder een naam vast te leggen in plaats van alleen een nummer. Verwijs er in de vervangingsmodus naar in de vervangingstekst als $<naam> - bijvoorbeeld, (?<jaar>\d{4})-(?<maand>\d{2}) vervangen door $<maand>/$<jaar> herschikt een datum zonder groepnummers te hoeven onthouden.
Wat is het verschil tussen een hebzuchtige (greedy) en een luie (lazy) kwantor, zoals + versus +??
Een hebzuchtige kwantor (+, *, {2,4}) komt overeen met zoveel mogelijk tekst en geeft alleen toe als dat nodig is om de rest van het patroon te laten matchen. Een luie kwantor - hetzelfde symbool gevolgd door ? - komt juist overeen met zo min mogelijk tekst en breidt zich alleen indien nodig één teken tegelijk uit. Bijvoorbeeld, <.+> tegenover <a><b> matcht hebzuchtig het hele <a><b>, terwijl <.+?> lui alleen <a> matcht.
Wat controleren lookahead en lookbehind eigenlijk als ze geen tekens verbruiken?
Ze controleren of een patroon direct vóór of na de huidige positie voorkomt, zonder het zelf in de match op te nemen - dus (?=...) en (?<=...) controleren vooruit/achteruit of iets aanwezig moet zijn, terwijl (?!...) en (?<!...) controleren dat het niet aanwezig mag zijn. Daarom kunt u \d+(?=px) gebruiken om een getal alleen te matchen als het wordt gevolgd door 'px', terwijl 'px' zelf nooit in de gematchte tekst verschijnt.
Voor ontwikkelaars: open deze pagina met de parameters `q` (het patroon) en `text` (de testtekst) in de URL - bijv. gizke.com/regex?q=\d+&text=There are 42 apples - en beide worden automatisch vooraf ingevuld. De meeste bezoekers hebben dit niet nodig; het is bedoeld om direct naar een kant-en-klaar voorbeeld te linken.

Deel deze tool

BlogOver onsContactGebruiksvoorwaardenPrivacybeleid