Wat is een reguliere expressie?

Een reguliere expressie (regex) is een reeks tekens die een zoekpatroon definieert. Oorspronkelijk ontwikkeld voor de formele taaltheorie, worden reguliere expressies tegenwoordig gebruikt in vrijwel elke programmeertaal en tekstverwerkingstool om strings te matchen, te doorzoeken en te bewerken. Een patroon zoals [a-z]+@[a-z]+\.com beschrijft de structuur van een eenvoudig e-mailadres — letters, gevolgd door een @-symbool, meer letters, een punt en de letterlijke string "com."

Naast zoeken kunnen reguliere expressies ook dienen als blauwdruk voor het genereren van gegevens. Door het matchingproces om te keren, kan een regex-engine willekeurige strings produceren die voldoen aan een opgegeven patroon. Dit is bijzonder nuttig voor het testen van software, prototyping en het vullen van databases met realistisch ogende testgegevens zonder gebruik te maken van echte gebruikersinformatie.

Beschrijving van de tool

Deze tool genereert willekeurige strings die overeenkomen met elke reguliere expressie die u opgeeft. Voer een regex-patroon in — of kies uit ingebouwde presets — en genereer direct tot 1.000 overeenkomende waarden. De tool ondersteunt alle standaard regex-syntaxis, inclusief tekenklassen, kwantificatoren, groepen, alternatie en terugverwijzingen. De uitvoer kan direct worden gebruikt als testgegevens, seed-data of invoer voor validatiescripts.

Functies

  • Ingebouwde presets voor veelgebruikte indelingen: e-mail, IPv4, UUID, Amerikaans telefoonnummer, datum, hex-kleur, kenteken en MAC-adres
  • Aangepaste regex-invoer die de volledige JavaScript reguliere expressie-syntaxis ondersteunt
  • Instelbaar aantal van 1 tot 1.000 gegenereerde waarden per uitvoering
  • Maximale herhaling om te beperken hoe vaak onbegrensde kwantificatoren (+, *, {n,}) uitbreiden, zodat buitensporig lange strings worden voorkomen
  • Modus voor unieke waarden die duplicaten verwijdert uit de uitvoer en waarschuwt als de entropie van het patroon te laag is om voldoende unieke waarden te produceren

Toepassingen

  • Softwaretesten: Genereer honderden geldig ogende e-mailadressen, UUID's of IP-adressen als testgegevens of seed-data voor geautomatiseerde testsuites, zonder echte gebruikersinformatie bloot te stellen.
  • Database vullen: Vul ontwikkel- of stagingdatabases snel met realistische testgegevens die voldoen aan kolomvereisten en validatieregels.
  • Regex leren: Experimenteer met de syntaxis van reguliere expressies door een patroon te schrijven en direct te zien welke strings het kan produceren, waardoor het gemakkelijker wordt om kwantificatoren, tekenklassen en groepering te begrijpen.

Uitleg van de opties

Optie Beschrijving
Preset Selecteer een ingebouwd patroon voor veelgebruikte gegevensindelingen, of kies "Aangepast" om uw eigen regex te schrijven. Het selecteren van een preset vult automatisch het regex-patroenveld in.
Regex-patroon De reguliere expressie die wordt gebruikt om gegevens te genereren. Ondersteunt tekenklassen ([a-z]), kwantificatoren ({3,8}, +, *), groepen en alternatie ((com|net|org)), en speciale tokens (\d, \w).
Aantal Het aantal te genereren strings, tussen 1 en 1.000.
Maximale herhaling Beperkt de uitbreiding van onbegrensde kwantificatoren. Met een maximale herhaling van 10 produceert het patroon [a-z]+ bijvoorbeeld strings van maximaal 10 tekens. Bereik: 1–100.
Alleen unieke waarden Wanneer ingeschakeld, worden er geen dubbele strings in de uitvoer opgenomen. Als het patroon niet genoeg unieke waarden kan produceren, wordt er een waarschuwing weergegeven met het werkelijke aantal gegenereerde waarden.

Tips

  • Begin met een preset en pas deze aan om te leren hoe regex-patronen zich vertalen naar gegenereerde gegevens.
  • Als u uitvoer met een vaste lengte nodig heeft, gebruik dan exacte kwantificatoren zoals {8} in plaats van bereiken zoals {5,10}.
  • Verlaag de maximale herhalingswaarde bij gebruik van + of * om gegenereerde strings kort en leesbaar te houden.
  • Schakel de unieke modus in bij het genereren van identificatoren of sleutels die niet mogen herhalen, maar gebruik een patroon met voldoende variatie om het uniekheidsplafond niet te bereiken.

Veelgestelde vragen

Kan ik lookaheads of lookbehinds gebruiken? De generator is gebaseerd op de randexp.js-bibliotheek, die de meeste JavaScript regex-functies ondersteunt. Lookaheads en lookbehinds worden niet ondersteund voor generatie, omdat ze geen tekensinhoud definiëren.

Waarom heb ik minder resultaten ontvangen dan gevraagd? Met "Alleen unieke waarden" ingeschakeld, heeft het patroon mogelijk niet genoeg mogelijke permutaties om het gevraagde aantal unieke strings te produceren. Probeer de tekenklassen te verbreden of de kwantificatorbereiken te vergroten.

Is de uitvoer echt willekeurig? De uitvoer is pseudo-willekeurig. Elke uitvoering produceert andere resultaten, maar de willekeurigheid is niet cryptografisch veilig. Gebruik deze tool niet om wachtwoorden of beveiligingstokens te genereren.