Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
exrex — Нестандартные методы для регулярных выражений | Kitploit
Инструменты/GitHubGitHub/asciimoo/exrex
Утилиты общего назначенияГенерация полезной нагрузкиФаззинг
GitHubasciimoo/exrex

exrex

Нестандартные методы для регулярных выражений

Репозиторий
957988 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

EXREX

Нестандартные методы для регулярных выражений.

Exrex — это инструмент командной строки и модуль Python, который генерирует все (или случайные) строки, соответствующие заданному регулярному выражению, и многое другое. Он написан на чистом Python, без внешних зависимостей.

Существуют регулярные выражения с бесконечным количеством подходящих строк (например: [a-z]+); в таких случаях exrex ограничивает максимальную длину бесконечных частей.

Exrex использует генераторы, поэтому потребление памяти не зависит от количества подходящих строк.

Version Downloads

Возможности

  • Генерация всех подходящих строк
  • Генерация случайной подходящей строки
  • Подсчёт количества подходящих строк
  • Упрощение регулярных выражений

Установка

Для установки exrex просто выполните:

root@kitploit:~
$ pip install exrex

или

root@kitploit:~
$ easy_install exrex

Использование

в качестве модуля Python

root@kitploit:~
>>> 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])

Использование командной строки

root@kitploit:~
> 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

Примеры:

root@kitploit:~
$ 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/

TODO

  • Опции командной строки для изменения наборов символов по умолчанию/диапазонов/ограничений диапазонов (например, для '.','\s'..) (40%)
  • Расширение категорий (re.sre_parse.CATEGORIES) (30%)
  • Улучшение setup.py
  • Более подробный код
  • Документация
  • Оптимизации
  • Генерация n различных случайных подходящих строк
  • Снижение потребления памяти (100%?) — генераторы
  • Подсчёт количества подходящих строк — (100%?)
  • Поддержка Unicode (100%)
  • Обработка grouprefs (100%)
  • Совместимость с Python3 (100%) ( >= python3.3)

Лицензия

root@kitploit:~
exrex является свободным программным обеспечением: вы можете распространять и/или изменять его на условиях Стандартной общественной лицензии GNU Affero, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

exrex распространяется в надежде, что будет полезен, но БЕЗ ВСЯКИХ ГАРАНТИЙ; даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию GNU Affero.

Вы должны были получить копию Стандартной общественной лицензии GNU Affero вместе с exrex. Если нет, см. < http://www.gnu.org/licenses/ >.

(C) 2012- от Adam Tauber, <[email protected]>

Забавы/творчество

  • Boat: exrex '( {20}(\| *\\|-{22}|\|)|\.={50}| ( ){0,5}\\\.| {12}~{39})'
  • Eyes: exrex '(o|O|0)(_)(o|O|0)'

Похожие проекты

Инструменты, генерирующие список всех возможных строк, соответствующих заданному шаблону:

  • regldg (имеет интерактивную демонстрацию на сайте)
  • regex-genex (поддерживает одновременное использование нескольких регулярных выражений)

Инструменты, генерирующие случайные строки одну за другой, соответствующие заданному шаблону:

  • randexp.js (имеет несколько интерактивных демонстраций на сайте)
  • rstr.xeger (метод модуля Python 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
Скачать инструмент