Exrex - طرق غير منتظمة على التعبيرات العادية
Exrex هو أداة سطر الأوامر ووحدة python التي تقوم بإنشاء سلاسل مطابقة أو عشوائية لكل تعبير عادي محدد والمزيد. إنه بيثون نقي ، بدون تبعيات خارجية.
هناك تعبيرات عادية ذات سلاسل مطابقة لا نهائية (مثل
[a-z]+
:) ، في هذه الحالات ، exrex تحدد الحد الأقصى لطول الأجزاء اللانهائية.
يستخدم Exrex المولدات ، لذلك لا يعتمد استخدام الذاكرة على عدد السلاسل المطابقة.
المميزات
- توليد جميع السلاسل المطابقة
- توليد سلسلة مطابقة عشوائية
- حساب عدد السلاسل المطابقة
- تبسيط التعبيرات العادية
التثبيت
لتثبيت exrex ، ببساطة:
$ pip install exrex
$ 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
أمثلة:$ exrex '[asdfg]'
a
s
d
f
g
$ exrex -r '(0[1-9]|1[012])-\d{2}'
09-85
$ exrex '[01]{10}' -c
1024
التوثيقhttp://exrex.readthedocs.org/en/latest/
المرح / الفنون
- قارب:
exrex '( {20}(\| *\\|-{22}|\|)|\.={50}| ( ){0,5}\\\.| {12}~{39})'
- عيون:
exrex '(o|O|0)(_)(o|O|0)'
مشاريع مشابهة
أدوات تقوم بإنشاء قائمة بكافة السلاسل الممكنة التي تتطابق مع نمط محدد:
- regldg (ميزات عرض حي على الموقع)
- regex-genex (يدعم استخدام أنماط regex متعددة في وقت واحد)
- randexp.js (يضم العديد من العروض الحية على الموقع)
- rstr.xeger (طريقة من
rstr
وحدات بايثون)
جانبي
python -m cProfile exrex.py '[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]' -o /dev/null
python -m cProfile exrex.py '[0-9]{6}' -o /dev/null
Commentaires
Enregistrer un commentaire