All Projects → darvid → python-hyperscan

darvid / python-hyperscan

Licence: MIT license
A CPython extension for the Hyperscan regular expression matching library.

Programming Languages

c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to python-hyperscan

RgxGen
Regex: generate matching and non matching strings based on regex pattern.
Stars: ✭ 45 (-59.82%)
Mutual labels:  regex, regexp, regular-expressions
Regex For Regular Folk
🔍💪 Regular Expressions for Regular Folk — A visual, example-based introduction to RegEx [BETA]
Stars: ✭ 242 (+116.07%)
Mutual labels:  regex, regexp, regular-expressions
moar
Deterministic Regular Expressions with Backreferences
Stars: ✭ 19 (-83.04%)
Mutual labels:  regex, regexp, regular-expressions
Youtube Regex
Best YouTube Video ID regex. Online: https://regex101.com/r/rN1qR5/2 and http://regexr.com/3anm9
Stars: ✭ 87 (-22.32%)
Mutual labels:  regex, regexp, regular-expressions
Proposal Regexp Unicode Property Escapes
Proposal to add Unicode property escapes `\p{…}` and `\P{…}` to regular expressions in ECMAScript.
Stars: ✭ 112 (+0%)
Mutual labels:  regex, regexp, regular-expressions
Grex
A command-line tool and library for generating regular expressions from user-provided test cases
Stars: ✭ 4,847 (+4227.68%)
Mutual labels:  regex, regexp, regular-expressions
Regex
An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
Stars: ✭ 2,125 (+1797.32%)
Mutual labels:  regex, regexp, regular-expressions
url-regex-safe
Regular expression matching for URL's. Maintained, safe, and browser-friendly version of url-regex. Resolves CVE-2020-7661 for Node.js servers.
Stars: ✭ 59 (-47.32%)
Mutual labels:  regex, regexp, regular-expressions
expressive-ts
A functional programming library designed to simplify building complex regular expressions
Stars: ✭ 78 (-30.36%)
Mutual labels:  regex, regular-expressions
Rverbalexpressions
💬 Create regular expressions easily
Stars: ✭ 245 (+118.75%)
Mutual labels:  regex, regular-expressions
ChatControl-Pro
The ultimate chat solution. Prevent spam, ads, swears and even bots on your server. Replaced by ChatControl Red: https://mineacademy.org/chatcontrol-red
Stars: ✭ 65 (-41.96%)
Mutual labels:  regex, regular-expressions
Stringi
THE String Processing Package for R (with ICU)
Stars: ✭ 204 (+82.14%)
Mutual labels:  regex, regexp
Ruby Regexp
Learn Ruby Regexp step by step from beginner to advanced levels with plenty of examples and exercises
Stars: ✭ 79 (-29.46%)
Mutual labels:  regex, regular-expressions
Regexpu
A source code transpiler that enables the use of ES2015 Unicode regular expressions in ES5.
Stars: ✭ 201 (+79.46%)
Mutual labels:  regex, regexp
Regaxor
A regular expression fuzzer.
Stars: ✭ 35 (-68.75%)
Mutual labels:  regex, regexp
is-regex
Is this value a JS regex?
Stars: ✭ 22 (-80.36%)
Mutual labels:  regex, regexp
Regex Automata
A low level regular expression library that uses deterministic finite automata.
Stars: ✭ 203 (+81.25%)
Mutual labels:  regex, regexp
regexp-example
正则表达式实例搜集,通过实例来学习正则表达式。
Stars: ✭ 162 (+44.64%)
Mutual labels:  regex, regexp
simplematch
Minimal, super readable string pattern matching for python.
Stars: ✭ 147 (+31.25%)
Mutual labels:  regex, regular-expressions
cregex
A small implementation of regular expression matching engine in C
Stars: ✭ 72 (-35.71%)
Mutual labels:  regex, regexp

Hyperscan for Python

python-hyperscan workflow PyPI - Python Version PyPI - Wheel PyPI - Status PyPI - License Read the Docs

A CPython extension for Hyperscan, Intel's open source, high-performance multiple regex matching library. Currently only supports manylinux-compatible Linux distributions.

Installation

pip install hyperscan

API Support

python-hyperscan currently exposes most of the C API, with the following caveats or exceptions:

  • No stream compression support.
  • No custom allocator support.
  • hs_expression_info, hs_expression_ext_info, hs_populate_platform, and hs_serialized_database_info not exposed yet.

As of v0.3.0, python-hyperscan statically links against Hyperscan, so having the library installed on your system is not required. Prior versions of python-hyperscan require Hyperscan v5.2 or newer.

Building from source requires Hyperscan compiled and installed with the following CMake flags set:

  • FAT_RUNTIME=OFF
  • BUILD_STATIC_AND_SHARED=ON only if BUILD_SHARED_LIBS is also on, in the event there are other applications colocated with python-hyperscan that need the shared libraries. Otherwise ignore this flag, as by default Hyperscan will build static libraries.
  • CMAKE_C_FLAGS and CMAKE_CXX_FLAGS set to -fPIC

See the documentation for more detailed build instructions.

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].