Evaluate Perl-Compatible Regular Expressions
Project description
PECOREGEX
Pecoregex stands for Perl-Compatible Regular Expression, better known as PCRE. Pecoregex is python-pcre's weird little cousin: like python-pcre, pecoregex acts as a bridge between Python and libpcre.
The key differences are:
-
pecoregex relies on ctypes to load and leverage libpcre.so; consequently, it can be installed without compiling anything;
-
pecoregex only provides access to the most essential features of libpcre: compiling and executing regexes (including retrieving captures); other features such as study(), JIT or sub() were not considered (yet?).
Modules
The pecoregex package provides multiple modules:
-
pecoregex.pcre provides PCRE_* constants and the PCRELibrary class; this is the part that actually interacts with libpcre.so; it can be used directly or through the other modules that build upon it;
-
pecoregex.document defines key names for the Pecoregex document format; Pecoregex documents are a way to bundle 1 to n PCRE patterns along with 0 to n subjects each.
-
pecoregex.factory provides helpers to build common Pecoregex documents (e.g. "1 subject, n patterns" documents);
-
pecoregex.util provides functions to process Pecoregex documents, i.e. compile the PCRE patterns they contain and match their associated subject strings against them;
-
pecoregex.cli is typically invoked through the
pecoregexCLI tool; it provides a mean to compile and execute PCRE patterns: patterns and subjects are provided either as command-line arguments or by passing a Pecoregex document on the standard input (as JSON or YAML); supported output formats include text, JSON and YAML; therefore, it is perfectly possible to compile and execute multiple PCRE patterns and subjects before picking up their captures usingjq. -
pecoregex.extproc provides simple subprocess-based wrappers that leverage pecoregex.cli to compile and execute PCRE patterns in a separate process; this is meant for all those who consider calling C functions from Python as a threat to the reliability of their program.
License
This Python package and its modules are released under the 3-clause BSD license.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pecoregex-1.1.0.tar.gz.
File metadata
- Download URL: pecoregex-1.1.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec05c5999654292045ca201086ee3a81465121dc6524f3c32d76430eb673818
|
|
| MD5 |
55e3a390994d3ba6e1e6f23696c4b0eb
|
|
| BLAKE2b-256 |
1c1d63eb83aa8453d12d8b5d016ed5826e3784899f79566b8ef630783245f077
|
File details
Details for the file pecoregex-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pecoregex-1.1.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
680e6c144c7c44fdc97fa8b5b43bc381da75fa08a70c68c3e53f41a63837c8ec
|
|
| MD5 |
8e3afcd60375dee2b847017f8a6ff03f
|
|
| BLAKE2b-256 |
b29988e4360393d54db5ecf9df19497814627377d14430d6e192dab42b74f607
|