◯ Gratis: 5 keer/dag • Reset over 17h 10m
Ontwikkeling & Technisch

Regex-generator

Zet een beschrijving in gewoon Engels om in een werkende reguliere expressie voor JavaScript, Python, PCRE, Go, Java of .NET — met een token‑voor‑token uitleg, testcases en de randgevallen die het patroon expres wel of niet matcht.

Meer leren

De Regex‑generator genereert een reguliere expressie op basis van een beschrijving van wat moet matchen, in de flavour die je daadwerkelijk gebruikt — JavaScript, Python, PCRE, Go's RE2, Java of .NET — en bewijst het vervolgens: elk token wordt uitgelegd, je voorbeelden van strings die wel en niet moeten matchen worden gecontroleerd, en het patroon wordt geleverd met extra testcases, een gebruikssnippet in jouw taal en een opmerking over de randgevallen die het expres uitsluit. Daarnaast geeft het aan wanneer een vereiste niet kan worden vervuld in jouw flavour, zoals look‑behind in Go, in plaats van stilzwijgend een patroon te produceren dat niet compileert.

0 / 3000
0 / 10000
0 / 10000

✓ Gratis te gebruiken — geen registratie, geen creditcard.

Ontwikkelaars

Alleen bedrijfs‑e‑mailadressen

Registratie‑validatie die gratis webmail‑domeinen afwijst

Voorbeeld van invoer en uitvoer bekijken

Invoer

Wat moet het patroon matchen?
Email addresses on the company domains acme.com and acme.co.uk, case-insensitive. Reject everything else, including gmail and addresses with nothing before the @.
Regex‑flavour
JavaScript / TypeScript
Voorbeelden die moeten matchen (één per regel)
[email protected] [email protected]
Voorbeelden die niet mogen matchen (één per regel)
[email protected] @acme.com
Striktheid
Praktisch (leesbaar, dekt veelvoorkomende gevallen)

Uitvoer (fragment)

```javascript
/^[a-z0-9._%+-]+@acme\.(?:com|co\.uk)$/i
```

**Vlaggen:** `i` — domeinen en lokale delen worden case‑insensitief vergeleken.

| Token | Betekenis |
|---|---|
| `^` … `$` | de hele string moet het adres zijn |
| `[a-z0-9._%+-]+` | lokale deel: één of meer letters, cijfers of de gebruikelijke interpunctie |
| `@acme\.` | letterlijk @acme. — de punt is geescaped |
| `(?:com\|co\.uk)` | exact één van de twee bedrijfsdomeinen |

| Invoer | Verwacht | Waarom |
|---|---|---|
| `[email protected]` | match | eenvoudig lokaal deel, toegestaan domein |
| `[email protected]` | match | punt in lokaal deel, tweede domein |
| `[email protected]` | no match | domein niet in de lijst |
| `@acme.com` | no match | leeg lokaal deel |
| `[email protected]` | no match | geankerd, er mag niets volgen |…
Alle doelgroepen

ISO‑8601 kalenderdatums

Datums uit logregels halen voordat ze worden geparseerd

Voorbeeld van invoer en uitvoer bekijken

Invoer

Wat moet het patroon matchen?
ISO calendar dates like 2026-09-20 anywhere inside a line of text. Month 01-12, day 01-31. Do not match 2026-13-01 or 26-09-20.
Regex‑flavour
Python (re)
Voorbeelden die moeten matchen (één per regel)
deployed 2026-09-20 at 05:01 2024-02-29
Voorbeelden die niet mogen matchen (één per regel)
2026-13-01 26-09-20
Striktheid
Strikt (wijst alles af wat ongeldig is)

Uitvoer (fragment)

```python
r"(?<!\d)(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(?!\d)"
```

**Vlaggen:** geen. Het patroon is niet verankerd omdat de datum zich in een regel bevindt.

| Token | Betekenis |
|---|---|
| `(?<!\d)` | niet voorafgegaan door een cijfer — wijst `12026-09-20` af |
| `(\d{4})` | viercijferig jaar, vastgelegd |
| `(0[1-9]\|1[0-2])` | maand 01‑12 |
| `(0[1-9]\|[12]\d\|3[01])` | dag 01‑31 |
| `(?!\d)` | niet gevolgd door een cijfer |

**Randgevallen:** het patroon kent de maandlengtes niet — `2026-02-31` matcht. Valideer met `datetime.date.fromisoformat()` na extractie, zoals het gebruiksfragment laat zien…

Je Regex-generator-resultaten verschijnen hier

Verwacht schone codeblokken met commentaar, plus een korte uitleg van wat er is veranderd.

Hoe te gebruiken Regex-generator

  1. Beschrijf in gewone taal wat het patroon moet matchen, inclusief wat het moet afwijzen — 'bedrijfs‑e‑mailadressen, geen gratis webmail' is beter dan 'e‑mails'.
  2. Kies de flavour waarin je het gaat gebruiken. Go, JavaScript, Python, Java, .NET en PCRE verschillen in look‑around‑ondersteuning, Unicode‑afhandeling en escaping.
  3. Plak een paar strings die moeten matchen en een paar die niet mogen, één per regel. Het patroon wordt tegen elk van hen gecontroleerd.
  4. Kies striktheid: 'Praktisch' voor leesbare patronen die normale invoer dekken, 'Strikt' voor validatie, 'Laks' wanneer je breed vastlegt en later filtert.

Gebruikscases

1

Valideer formulierinvoer zoals postcodes, kentekenplaten of interne ID‑formaten

2

Extraheer data, factuurnummers of orderreferenties uit logregels en e‑mails

3

Bouw een zoek‑en‑vervang voor een bulk‑opschoning in een editor of migratiescript

4

Leg een legacy‑patroon uit dat een collega heeft achtergelaten in de codebase door het als beschrijving te plakken

5

Converteer een patroon van de ene flavour naar de andere bij het verplaatsen van een script van Python naar Go

Tips voor de beste resultaten

  • Geef voorbeelden die niet moeten matchen — ze scherpen een patroon meer aan dan voorbeelden die moeten matchen.
  • Als je het binnen een taalketting nodig hebt, vraag dan om die variant: de escape‑sequenties maken deel uit van het antwoord.
  • Voor validatie aan de gebruiker kies je 'Strict' en lees je de sectie over randgevallen voordat je het uitrolt.
  • Een patroon met geneste herhaling op onbetrouwbare invoer kan je server laten hangen; de output waarschuwt je wanneer dat risico bestaat.

Veelgestelde vragen

Welke regex‑varianten worden ondersteund?

JavaScript en TypeScript, Python's re‑module, PCRE (PHP, Ruby, Perl), Go's RE2‑engine, Java en .NET. Het patroon wordt geschreven als een literal in de gekozen taal, met de escape‑sequenties die die taal vereist.

Test het patroon?

Elk voorbeeld dat je opgeeft wordt weergegeven in een testtabel met het verwachte resultaat en de reden. Het hulpmiddel voegt ook grensgevallen toe — lege invoer, witruimte, bijna‑matches — zodat je kunt zien wat erdoorheen glipt.

Waarom zegt het dat mijn vereiste onmogelijk is in Go?

Go's RE2‑engine garandeert lineaire‑tijd matching en heeft daarom geen look‑ahead, look‑behind of back‑references. Wanneer de beschrijving een van deze nodig heeft, geeft het hulpmiddel dat aan en biedt het het dichtstbijzijnde patroon dat RE2 kan compileren, meestal met een kleine controle in de code.

Wat is het verschil tussen Practical, Strict en Lenient?

Practical‑patronen zijn leesbaar en dekken de invoer die je daadwerkelijk ziet. Strict‑patronen verwerpen elke string die niet geldig is, ten koste van lengte en leesbaarheid — gebruik ze voor validatie. Lenient‑patronen vangen breed, zodat je later in de code kunt filteren — gebruik ze voor extractie uit rommelige tekst.

Kan het een regex die ik al heb uitleggen?

Ja. Plak het bestaande patroon in de beschrijving met 'explain this' en de output loopt het token voor token door, geeft weer wat het matcht, en wijst op eventuele risico's van catastrofische backtracking.

🔒
Je privacy is beschermd

We bewaren je invoer en het resultaat maximaal 90 dagen om de dienst te laten werken, misbruik te voorkomen en, als je bent ingelogd, je geschiedenis te tonen. Ze worden verwerkt door de AI-aanbieders die in ons privacybeleid staan. We verkopen ze niet.

Gerelateerde tools

Deze agent proberen

API Automation AgentBeschrijf een automatisering in eenvoudig Engels → REST/webhook-recept → curl + Python + Node-voorbeelden → gekoppeld…Deze agent proberen →

Gerelateerde workflow

ELSTER-voorbereiding — kwartaaloverzichtHaal de facturen van het kwartaal op in een net belastingoverzicht voor ELSTER (DE) / FinanzOnline…Workflow uitvoeren →

Lees meer