RegexSolver Python API Client
Homepage | Documentation | Developer Console
This repository contains the source code of the Python library for RegexSolver API.
RegexSolver is a powerful regular expression manipulation toolkit, that gives you the power to manipulate regex as if they were sets.
Installation
pip install --upgrade regexsolver
Requirements
- Python >=3.7
Usage
In order to use the library you need to generate an API Token on our Developer Console.
from regexsolver import RegexSolver, Term
RegexSolver.initialize("YOUR TOKEN HERE")
term1 = Term.regex(r"(abc|de|fg){2,}")
term2 = Term.regex(r"de.*")
term3 = Term.regex(r".*abc")
term4 = Term.regex(r".+(abc|de).+")
result = term1.intersection(term2, term3)\
.subtraction(term4)
print(result)
Features
Intersection
Request
Compute the intersection of the provided terms and return the resulting term.
The maximum number of terms is currently limited to 10.
term1 = Term.regex(r"(abc|de){2}")
term2 = Term.regex(r"de.*")
term3 = Term.regex(r".*abc")
result = term1.intersection(term2, term3)
print(result)
Response
regex=deabc
Union
Compute the union of the provided terms and return the resulting term.
The maximum number of terms is currently limited to 10.
Request
term1 = Term.regex(r"abc")
term2 = Term.regex(r"de")
term3 = Term.regex(r"fghi")
result = term1.union(term2, term3)
print(result)
Response
regex=(abc|de|fghi)
Subtraction / Difference
Compute the first term minus the second and return the resulting term.
Request
term1 = Term.regex(r"(abc|de)")
term2 = Term.regex(r"de")
result = term1.subtraction(term2)
print(result)
Response
regex=abc
Equivalence
Analyze if the two provided terms are equivalent.
Request
term1 = Term.regex(r"(abc|de)")
term2 = Term.regex(r"(abc|de)*")
result = term1.is_equivalent_to(term2)
print(result)
Response
False
Subset
Analyze if the second term is a subset of the first.
Request
term1 = Term.regex(r"de")
term2 = Term.regex(r"(abc|de)")
result = term1.is_subset_of(term2)
print(result)
Response
True
Details
Compute the details of the provided term.
The computed details are:
- Cardinality: the number of possible values.
- Length: the minimum and maximum length of possible values.
- Empty: true if is an empty set (does not contain any value), false otherwise.
- Total: true if is a total set (contains all values), false otherwise.
Request
term = Term.regex(r"(abc|de)")
details = term.get_details()
print(details)
Response
Details[cardinality=Integer(2), length=Length[minimum=2, maximum=3], empty=false, total=false]
Generate Strings
Generate the given number of strings that can be matched by the provided term.
The maximum number of strings to generate is currently limited to 200.
Request
term = Term.regex(r"(abc|de){2}")
strings = term.generate_strings(3)
print(strings)
Response
['deabc', 'abcde', 'dede']
Metadata
Release files for regexsolver 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| regexsolver-1.0.3.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| regexsolver-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / regexsolver-1.0.3.tar.gz
| Download URL | regexsolver-1.0.3.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45af2e832c7ab60a5acdb4abd8812193f3f7ff9b2cc4f3381b550df9102f40c1
|
|
BLAKE2b-256 checksum How to use checksums |
a10c1e9a39c5831447d9eb693441bf6dd00816f5920da1869ab130655de6f826
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Release files / regexsolver-1.0.3-py3-none-any.whl
| Download URL | regexsolver-1.0.3-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bd232a7d5b8aeb6adbf27b1eb7420685e0cc937aafc62c9ffb7ad40e9e3b4d8e
|
|
BLAKE2b-256 checksum How to use checksums |
a7b477f25d831601eb8b1cc5d0d93eaa47196021ff726071483af1a794dc0238
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|