
Irreguläre Methoden für reguläre Ausdrücke
Unregelmäßige Methoden für reguläre Ausdrücke.
Exrex ist ein Kommandozeilen-Tool und Python-Modul, das alle – oder zufällige – passenden Zeichenketten zu einem gegebenen regulären Ausdruck generiert, und mehr. Es ist reines Python ohne externe Abhängigkeiten.
Es gibt reguläre Ausdrücke mit unendlich vielen passenden Zeichenketten (z.B. [a-z]+); in diesen Fällen begrenzt exrex die maximale Länge der unendlichen Teile.
Exrex verwendet Generatoren, sodass der Speicherverbrauch nicht von der Anzahl der passenden Zeichenketten abhängt.
Funktionen
Um exrex zu installieren, einfach:
$ pip install exrex
oder
$ easy_install exrex
>>> import exrex
>>> exrex.getone('(ex)r\\1')
'exrex'
>>> list(exrex.generate('((hai){2}|world!)'))
['haihai', 'world!']
>>> exrex.getone('\d{4}-\d{4}-\d{4}-[0-9]{4}')
'3096-7886-2834-5671'
>>> exrex.getone('(1[0-2]|0[1-9])(:[0-5]\d){2} (A|P)M')
'09:31:40 AM'
>>> exrex.count('[01]{0,9}')
1023
>>> print '\n'.join(exrex.generate('This is (a (code|cake|test)|an (apple|elf|output))\.'))
This is a code.
This is a cake.
This is a test.
This is an apple.
This is an elf.
This is an output.
>>> print exrex.simplify('(ab|ac|ad)')
(a[bcd])
> exrex --help
usage: exrex.py [-h] [-o FILE] [-l] [-d DELIMITER] [-v] REGEX
exrex - regular expression string generator
positional arguments:
REGEX REGEX string
optional arguments:
-h, --help show this help message and exit
-o FILE, --output FILE
Output file - default is STDOUT
-l N, --limit N Max limit for range size - default is 20
-c, --count Count matching strings
-m N, --max-number N Max number of strings - default is -1
-r, --random Returns a random string that matches to the regex
-s, --simplify Simplifies a regular expression
-d DELIMITER, --delimiter DELIMITER
Delimiter - default is \n
-v, --verbose Verbose mode
Beispiele:
$ exrex '[asdfg]'
a
s
d
f
g
$ exrex -r '(0[1-9]|1[012])-\d{2}'
09-85
$ exrex '[01]{10}' -c
1024
Fehler oder Vorschläge? Besuchen Sie den Issue-Tracker.
http://exrex.readthedocs.org/en/latest/
re.sre_parse.CATEGORIES) (30%)n verschiedenen zufälligen passenden Zeichenkettenexrex ist freie Software: Sie können es unter den Bedingungen der
GNU Affero General Public License, Version 3 der Lizenz oder
(nach Ihrer Wahl) jeder späteren Version weiterverbreiten und/oder modifizieren.
exrex wird in der Hoffnung verbreitet, dass es nützlich sein wird,
aber OHNE JEDE GEWÄHR; sogar ohne die implizite Gewähr der
MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die
GNU Affero General Public License für weitere Details.
Sie sollten eine Kopie der GNU Affero General Public License zusammen mit
exrex erhalten haben. Falls nicht, siehe < http://www.gnu.org/licenses/ >.
(C) 2012- von Adam Tauber, <[email protected]>
exrex '( {20}(\| *\\|-{22}|\|)|\.={50}| ( ){0,5}\\\.| {12}~{39})'exrex '(o|O|0)(_)(o|O|0)'Werkzeuge, die eine Liste aller möglichen Zeichenketten generieren, die auf ein bestimmtes Muster passen:
Werkzeuge, die nacheinander zufällige Zeichenketten generieren, die auf ein bestimmtes Muster passen:
rstr)python -m cProfile exrex.py '[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]' -o /dev/nullpython -m cProfile exrex.py '[0-9]{6}' -o /dev/null