0.9.3 • Published 10 years ago

re-gen v0.9.3

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

regen

The name regen stands for RegExp-Generate. It's a lightweight tool that uses the Regular Expression syntax to generate strings.

It can be used in various ways, from debugging to generating data sets. If there's something that you can match using a RegExp, you can generate a random set of this thing using regen.

Installation

With npm

npm install -g re-gen

Remove the -g flag to install locally.

For the browser

Download the regen.js file and put it in your project. Include the script in your html file and you're done !

How to use

With node.js

var regen = require("re-gen");
console.log(regen("my regexp"));

From the command line

regen 'my regexp' [count]

In the browser

Include the file in your html document like this:

<script src="regen.js"></script>

You can then simply use the regen function.

console.log(regen("my regexp"));

Syntax

Character classes

SymbolDescription
AlphanumericAll alphanumeric characters (and special characters except if specified otherwise) output themselves
xyzOutput one of the characters specified in brackets. Each character has the same chance to appear
a-zOutput a character from the specified range
.Output any printable ASCII character

Repetition

SymbolDescription
{x}Output the previous selection x times, select randomly each time
{,x}Output the selection randomly between 0 and x times
{x,y}Output the selection randomly between x and y times
{:x}Output the selection x times, keep selection
?Output the selection 0 or 1 time

Alternation and grouping

SymbolDescription
( )Group characters and regexes together, may be nested
|Output the left or right expression

Back references

SymbolDescription
( ) \x\x (where x is a number from 1 to 9) will be replaced with the corresponding group

Exemples

Ipv6: (([0-9a-f]{4}):){4}\2

Ipv4 (not restricted to 255): (([0-9]{3})\\.){3}\2

Email address: (([rtnsd][aeiou]){2,3})\\.\\1@(github|gmail|yahoo|yopmail)\\.(com|org|info)

Comment: (Hey|Hello|Hi), I just saw (this|your) (amazing|incredible|beautiful) project !{1,3}