Exrex : Irregular Methods On Regular Expressions

Exrex is a command line tool and python module that generates all – or random – matching strings to a given regular expression and more. It’s pure python, without external dependencies.

There are regular expressions with infinite matching strings (eg.: [a-z]+), in these cases it limits the maximum length of the infinite parts.

It uses generators, so the memory usage does not depend on the number of matching strings.

Also Read : Sh00t : A Testing Environment for Manual Security Testers

Features

  • Help in generating all matching strings.
  • Help in generating a random matching string.
  • Help in counting the number of matching strings.
  • Help in simplification of regular expressions.

How Installation Is Done?

To install it, simply run the below command:

$ pip install exrex

Or else you can try the below steps to install it

$ easy_install exrex

How to use it?

If it is as python module

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])

Command line usage ?

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

Examples:

$ exrex ‘[asdfg]’
a
s
d
f
g

$ exrex -r ‘(0[1-9]|1[012])-\d{2}’
09-85

$ exrex ‘[01]{10}’ -c
1024

R K

Recent Posts

Install Ruby Ubuntu – 3 Easy Ways to Set Up Ruby on Ubuntu 20.04

Ruby remains one of the most popular programming languages for web development, automation, and software…

37 minutes ago

Plex Media Server Setup: Install and Configure on Ubuntu 20.04

A Plex Media Server Setup on Ubuntu 20.04 is one of the easiest ways to…

2 hours ago

Why Deploying AI Is Just the Beginning: The Case for Ongoing AI Operations Monitoring

Most enterprise AI programs treat deployment as the destination. The business case is built around…

19 hours ago

Bash Scripting Best Practices Every Beginner Should Know

Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…

6 days ago

How To Create A Self-Signed SSL Certificate Using Bash And OpenSSL

Introduction A self-signed SSL certificate is a certificate that is created and signed by the…

6 days ago

How To Debug Bash Scripts Using bash -x And set Commands

Introduction Debugging is an important part of Bash scripting. When a script does not work…

6 days ago