Skip to content

Democritus functions for working with and using regexes.

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

democritus-project/d8s-regexes

Repository files navigation

Democritus Regexes

PyPI CI Lint codecov The Democritus Project uses semver version 2.0.0 The Democritus Project uses black to format code License: LGPL v3

Democritus functions[1] for working with and using regexes.

[1] Democritus functions are simple, effective, modular, well-tested, and well-documented Python functions.

We use d8s (pronounced "dee-eights") as an abbreviation for democritus (you can read more about this here).

Installation

pip install d8s-regexes

Usage

You import the library like:

from d8s_regexes import *

Once imported, you can use any of the functions listed below.

Functions

  • def is_regex(possible_regex: str) -> bool:
        """Determine whether or not the possible_regex is a valid regex."""
  • def regex_closest_match(regex: str, string: str) -> str:
        """Find the longest version of regex that matches something in string."""
  • def regex_simplify(regex: str, *, consolidation_threshold: int = 5) -> str:
        """Clean and simplify a regex to a more efficient form."""
  • def regex_create(inputs: List[str], *, simplify_regex: bool = True, consolidation_threshold: int = 5) -> str:
        """Create a regex that matches all of the inputs."""

Development

👋  If you want to get involved in this project, we have some short, helpful guides below:

If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.

Credits

This package was created with Cookiecutter and Floyd Hightower's Python project template.