This is a TC39 proposal to add declarative pattern matching syntax to the ECMAScript language. It introduces a match expression that allows developers to inspect and branch on data structures using patterns with destructuring, guards, and logical combinators. The proposal defines a custom matcher protocol via a well-known symbol, enabling objects to implement user-defined matching logic with arbitrary extraction and decomposition. The proposal supports matching against literal primitives using SameValue equality with special handling for signed zero and NaN, as well as relational comparison
re2 is a C++ regular expression library designed for high-performance text processing. It is a non-backtracking regex engine that provides linear-time pattern matching, ensuring that execution time remains proportional to the size of the input string regardless of the pattern used. The library supports UTF-8 and Latin-1 text encodings for searching and extracting substrings. It includes capabilities for multi-pattern optimization, allowing multiple regular expressions to be combined into a single representation to scan text for several patterns in one pass. The project covers core regex oper
fuzzysort is a JavaScript library for performing approximate string matching and ranking results. It functions as a string matching engine and weighted search utility designed to identify approximate matches within text and object lists. The library features a pre-indexed search implementation that processes target strings into an optimized format to accelerate repeated lookups. It supports weighted object retrieval, allowing users to search through lists of objects by matching multiple keys and applying custom weights to prioritize specific fields. The engine provides capabilities for searc
RapidFuzz is a C++ accelerated Python library providing high-performance string comparison and similarity calculations. It functions as a fuzzy string matching toolkit used to quantify the difference between text sequences through Levenshtein distance and other edit distance metrics. The library focuses on scalable approximate text matching, enabling the identification and ranking of similar strings within large datasets. It provides specialized utilities for finding the best matches in a collection and generating pairwise similarity matrices. The project covers a broad surface of text proce
Hyperscan is a high-performance regular expression matching library that scans large volumes of data against thousands of patterns simultaneously. It accepts PCRE-compatible regular expressions and supports multi-pattern matching in a single pass, approximate matching within a configurable edit distance, and streaming mode for processing data that arrives in blocks. The library is designed for throughput-oriented scanning across block, streaming, and vectored inputs.
Principalele funcționalități ale intel/hyperscan sunt: High-Performance Matchers, Pattern Matching Engines, Streaming Regex Matching, Block Mode Scanning Operations, Hybrid DFA-NFA Engines, Multi-Pattern Scanners, Pre-Compiled Engines, High-Performance Regex Scanners.
Alternativele open-source pentru intel/hyperscan includ: tc39/proposal-pattern-matching — This is a TC39 proposal to add declarative pattern matching syntax to the ECMAScript language. It introduces a `match`… google/re2 — re2 is a C++ regular expression library designed for high-performance text processing. It is a non-backtracking regex… farzher/fuzzysort — fuzzysort is a JavaScript library for performing approximate string matching and ranking results. It functions as a… rapidfuzz/rapidfuzz — RapidFuzz is a C++ accelerated Python library providing high-performance string comparison and similarity… seatgeek/fuzzywuzzy — Fuzzywuzzy is a Python library and text processing utility designed to calculate similarity scores between strings. It… skim-rs/skim — Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and…