Skip to main content

Package for random data generation via ReGex

Project description

PyPi Package Version Supported Python versions PyPi status

Re-Generate

A simple and light package for QA development which can generate random strings via RegExr.

Not all RegExr mechanics are available now. But you can use all base methods and generate any string.

New features

1.0.8:

  1. Finally, added () groups syntax support
  2. Global changes in generation start function (sorry, it's alpha)

Getting started

This package is tested with Python 3.9-3.11 and Pypy 3. There are two ways to install the library:

  • Installation using pip (a Python package manager):
pip install re_generate
  • Installation from source (requires git):
git clone https://github.com/Warrfie/re-generate
cd re-generate
python setup.py install

or:

pip install git+https://github.com/Warrfie/re-generate

It is generally recommended to use the first option.

Package is still under development, and it has regular updates, do not forget to update it regularly by calling

pip install re_generate --upgrade

Summary

What RegExr syntax supported

type is supported
[] square brackets
[^] ! square brackets
{} braces quantifiers
{i,j} range braces quantifiers
| or
() groups
\n,\s,\d...etc reserved samples
*?,+?,?? greedy quantifiers
*,+,? lazy quantifiers

Main functionality

How generate

from re_generate import re_generate
print(re_generate(r"69[0-9]abc[a-zA-Z]228"))
'693abcb228'

How generate several strings ot once

from re_generate import re_generate_list
print(re_generate_list(r"69[0-9]abc[a-zA-Z]228"), 10)
['694abcO228', '693abcG228', '692abcV228', '696abcy228', '693abca228', '690abcb228', '694abcD228', '696abck228', '696abcJ228', '692abca228']

What you can configue

If you want to use your own library

from re_generate import re_generator
re_generator.char_lib = "你f好п我Э的$中(国*朋Ъ友1234+=\/,."

Sometimes you need generate string without spaces at begin and end, like after .strip() function.

from re_generate import re_generator
re_generator.will_be_stripped = True

Tips and tricks

In large project you can link that lib throw cfg py file like that

cfg.py
from re_generate import re_generator
re_generator.char_lib = "你f好п我Э的$中(国*朋Ъ友1234+=\/,."
re_generator.will_be_stripped = True
your_func = re_generator.re_generator

and use it in your project

your_code.py
from cfg import your_func
print(your_func(r"69[^0-9]abc[a-zA-Z]22[ 8]"))
'69我abcb228'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

re-generate-0.1.8.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

re_generate-0.1.8-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file re-generate-0.1.8.tar.gz.

File metadata

  • Download URL: re-generate-0.1.8.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for re-generate-0.1.8.tar.gz
Algorithm Hash digest
SHA256 4ea702b3f965b811f6bf2aeb4300bfa4876239327136e51d333c172f2f724896
MD5 6c11d78c9a41f5938f963db0f3a50478
BLAKE2b-256 a31b239537de8ec50943592d5084c370a74e8b0521b638444a823ab07f1c1dd5

See more details on using hashes here.

File details

Details for the file re_generate-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: re_generate-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for re_generate-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 36ae15f384b641d2912848bf6753d15d6c645e8e6aa905b00b0a6173c971d9e0
MD5 f8e4c30a5d2bd542773c846016dd3c67
BLAKE2b-256 49de78e18c3fb8e92e2520904827b72e297beed331228ddf2d606d5a765137d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page