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