Terug naar Utils

Notepad++ plugin

Regex Viewer

Plak een regex zoals je hem kreeg — los, in een stuk code of in een heel antwoord van ChatGPT of Claude — en zie meteen wat hij doet in het document dat je open hebt.

Doel

Bijna niemand schrijft reguliere expressies nog zelf. Je vraagt het aan een AI-assistent of zoekt het op, en krijgt iets als re.compile(r"^(?P<date>\d{4}-\d{2}-\d{2})\s+(?P<level>ERROR|WARN)\b"). Dan begint het: matcht dit echt mijn regels? Wat doet elk deel? En hoe gebruik ik het in Zoeken/Vervangen van Notepad++?

Regex Viewer haalt de regex uit wat je plakt — Python, JavaScript, C#, Java, PHP, Go, PowerShell, sed of grep, of een markdown-codeblok — inclusief opties en vervangtekst. Elke match licht op in je document, elke groep in een eigen kleur, en ernaast staat per onderdeel uitgelegd wat het doet.

Standaard matcht de plugin precies zoals Zoeken in Notepad++ dat zou doen, met dezelfde regex-engine (Boost.Regex). Wil je zien wat Python of JavaScript ermee doet, dan kies je die taal. In C++ geschreven, geen internetverbinding nodig, broncode open (MIT-licentie) op GitHub.

Wat je kunt verwachten

Plak wat je kreeg

Een losse regex, een regel code of een heel AI-antwoord met codeblokken: de regex, de opties (re.MULTILINE, /gi, RegexOptions …) en de vervangtekst worden eruit gehaald. Meerdere regexes in één plak? Kies er een.

Groepen in kleur

Elke match in je document gemarkeerd, elke groep in een eigen kleur — dezelfde kleuren als in het patroon. De lijst ernaast toont elke match met zijn groepen; dubbelklik om ernaartoe te springen.

Uitleg in gewone taal

Per onderdeel: \d{4} is 'exactly 4 digits', (?=\.) is 'followed by a "."'. De markeringen komen van de engine zelf en zijn exact; de uitleg is een leeshulp.

Notepad++ of de brontaal

Standaard zoals Zoeken in Notepad++, met een waarschuwing als de brontaal anders werkt. Of kies Python, JavaScript, .NET, Java, PCRE, POSIX (grep/sed) of RE2 (Go, Google Sheets).

Vervangen en alles vervangen

De vervangtekst (\g<1>, $1, ${name} …) wordt omgezet naar Notepad++-syntax. Alles vervangen is één ongedaan-maak-stap.

Veilig op grote bestanden

Het zoeken loopt op de achtergrond; bij grote bestanden zie je eerst het zichtbare deel. Een regex die eindeloos blijft rekenen wordt na 2 seconden gestopt, met de regel waar het misging.

Zie het in actie

Een regel Python geplakt, en de uitleg die Regex Viewer erbij geeft. In het document worden de datum en het niveau in hun eigen kleur gemarkeerd.

Geplakt

pattern = re.compile(
    r"^(?P<date>\d{4}-\d{2}-\d{2})\s+(?P<level>ERROR|WARN)\b"
)

Uitleg

^             start of a line
(?<date>      group 1 "date":
  \d{4}       exactly 4 digits
  -           a "-"
  \d{2}       exactly 2 digits
  -           a "-"
  \d{2}       exactly 2 digits
\s+           one or more whitespace characters
(?<level>     group 2 "level":
  ERROR|WARN  one of these alternatives:
    ERROR     the text "ERROR"
    WARN      the text "WARN"
\b            a word boundary

Waarom 'zoals Notepad++' het verschil maakt

Dezelfde regex werkt niet overal hetzelfde. In Python zonder re.MULTILINE matcht ^ alleen het begin van de hele tekst; in Notepad++ het begin van elke regel. Op een logbestand is dat al snel 1 match tegenover honderden. Regex Viewer laat standaard zien wat Notepad++ doet, en meldt het verschil: "In Python … 1 match instead of 37".

Gebruik

1. Installatie

Nog niet in Notepad++'s Plugins Admin (aangemeld) — handmatige installatie:

Download RegexViewer.zip van de laatste release en pak hem uit in de Notepad++ plugin-map (64-bit Notepad++ vereist):

C:\Program Files\Notepad++\plugins\
  RegexViewer\
    RegexViewer.dll
    help.txt
Download de laatste release

2. Plugin activeren

Start Notepad++ opnieuw op. De plugin verschijnt onder Plugins → Datamodder Regex Viewer.

3. Aan de slag

Klik op het vergrootglas in de werkbalk, plak je regex in het paneel onderin, of selecteer een regex in een bestand en kies:

Plugins → Datamodder Regex Viewer → Explain selection as regex
Plugins → Datamodder Regex Viewer → Paste regex from clipboard

Veelgestelde vragen

Is deze plugin echt gratis?

Ja, volledig — MIT-licentie, broncode open op GitHub, geen advertenties, geen 'pro'-versie achter een betaalmuur.

Stuurt de plugin mijn tekst naar een AI of naar internet?

Nee. Alles draait lokaal in Notepad++. Je plakt de regex die je ergens anders kreeg; de plugin laat zien wat die doet op jouw tekst.

Hoe exact is 'matchen zoals Python' of 'zoals JavaScript'?

Elke taal draait op dezelfde engine als Notepad++, met de instellingen van die taal: ankers, punt, hoofdletters, POSIX 'langste match' en de syntaxverschillen. Voor alledaagse regexes geeft dat dezelfde matches als de echte taal; bij uitzonderingen krijg je een waarschuwing in plaats van een stil verschil.

Welke talen herkent hij in geplakte code?

Python (ook pandas .str.*), JavaScript/TypeScript, C#, Java, Kotlin, PHP, Go, Rust, PowerShell, en sed, grep, rg en perl op de commandoregel. Plus markdown-codeblokken en `inline code`.

Kan ik de regex daarna in Zoeken/Vervangen gebruiken?

Ja: 'Copy for Notepad++ Find' kopieert de omgezette regex, bijvoorbeeld (?<naam>…) in plaats van Python's (?P<naam>…).

Welke Notepad++ versie heb ik nodig?

64-bit Notepad++ 8.3 of hoger. 32-bit wordt niet ondersteund.

Bug gevonden of een idee voor een verbetering?

Meld het rechtstreeks als issue op GitHub — dat wordt gelezen en opgevolgd. Liever geen GitHub-account? Stuur ons dan een bericht via het contactformulier, dan zetten we het voor je door.