Package for random data generation via ReGex
Project description
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.
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 | :white_check_mark: |
[^] ! square brackets | :white_check_mark: |
{} braces quantifiers | :white_check_mark: |
{i,j} range braces quantifiers | :white_check_mark: |
| or | :white_check_mark: |
() groups | :x: |
\n,\s,\d...etc reserved samples | :x: |
*?,+?,?? greedy quantifiers | :x: |
*,+,? lazy quantifiers | :x: |
Main functionality
How generate
import re_generate
print(re_generate.get_str(r"69[0-9]abc[a-zA-Z]228"))
'693abcb228'
How generate several strings ot once
import re_generate
print(re_generate.get_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
import re_generate
re_generate.main_generator.char_lib = "你f好п我Э的$中(国*朋Ъ友1234+=\/,."
Sometimes you need generate string without spaces at begin and end, like after .strip() function.
import re_generate
re_generate.main_generator.will_be_stripped = True
Tips and tricks
In large project you can link that lib throw cfg py file like that
cfg.py
import re_generate
re_generate.main_generator.char_lib = "你f好п我Э的$中(国*朋Ъ友1234+=\/,."
re_generate.main_generator.will_be_stripped = True
your_func = re_generate
and use it in your project
your_code.py
from cfg import your_func
print(your_func.get_str(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
Built Distribution
Hashes for re_generate-0.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4b81deb21a46fdff140285bd87062c730b3810277a208bf8fd705ccd53bcde7 |
|
MD5 | f980c8e879eef783137877015601a180 |
|
BLAKE2b-256 | 335eec0f4f80a0049955759a5e4d3a417427e8d6435248324113017ea7f6a5cc |