This can be very slow and may freeze your browser for long or complex expressions.
There are two forms of line in xeger:
The regular expressions support the standard
*|()+?{}[] features, as well as intersection
analogous to | using &.
Pre-defined character groups exist for alphabetic ASCII
[:a]/[:A] and digits [:0],
and their combinations [:a0], [:Aa], etc;
they also exist for consonants [:c] and vowels
[:v]. Elements of these classes can be excluded with
^ [:a^hj] or added on the end
[:v:y]
Filtering lines start with a character indicating the type of filter:
~regex positive match of expression!regex negative match of expression (exclusion)<regex delete matching prefix>regex delete matching suffixFilters apply to the sequence from the first line not already used. Filters (but not generators) may include numbered backreferences.
Any instance of @num expands the current
expression into a sequence with every element of the output
from line num. @num# gives the
length of each line instead.
@X creates an input called X for the user to
provide, with the same substitution rules.
1{@X#} gives 1 repeated X times for each line of X.
The sequence from the last line is given as output, one per line