A high-performance multiple regex matching library using hybrid automata for simultaneous pattern matching across data streams.
Hyperscan is a high-performance multiple regular expression matching library developed by Intel that uses hybrid automata techniques to enable simultaneous matching of large numbers of patterns (up to tens of thousands) across data streams. It provides a C API compatible with libpcre syntax and is designed specifically for scenarios requiring efficient pattern matching at scale, particularly in network security and deep packet inspection applications.
Developers building network security tools, intrusion detection systems, deep packet inspection solutions, and applications requiring high-performance regex matching across streaming data.
Developers choose Hyperscan for its exceptional performance when matching thousands of patterns simultaneously across data streams, its compatibility with familiar libpcre syntax, and its proven reliability in demanding network security applications where traditional regex libraries would struggle with scale.
High-performance regular expression matching library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses hybrid automata techniques to simultaneously match up to tens of thousands of patterns, optimized for speed in data-intensive scenarios like network security.
Capable of matching patterns across continuous data streams, not just static buffers, making it ideal for real-time applications such as deep packet inspection.
Supports matching tens of thousands of regular expressions simultaneously, as stated in the README, ensuring efficiency at scale for large pattern libraries.
Follows the regular expression syntax of the widely-used libpcre library, allowing easier adoption for developers already familiar with PCRE.
Requires building from source with a standalone C API, which can be challenging to set up compared to drop-in libraries, especially for non-C environments.
Adheres strictly to libpcre syntax, which may not support all advanced regex features or Unicode comprehensively, potentially restricting flexibility for complex patterns.
Documentation is provided in a separate Developer Reference Guide, which might require additional effort to access and understand, slowing down initial adoption.