15 repositorios
Algorithms for identifying multiple pattern strings within text simultaneously using trie-based structures.
Distinct from String Matching Algorithms: Focuses on multi-pattern matching, distinct from single-pattern matching.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Multi-Pattern Matching Algorithms. Refine with filters or upvote what's useful.
The Silver Searcher is a high-performance text search utility and regex code search tool designed to locate strings and regular expressions within plain text and source code. It functions as a codebase pattern matcher that provides highlighted results with surrounding line context and respects standard ignore files. The utility includes specialized capabilities for searching inside zlib and lzma compressed archives. It implements high-throughput processing via parallel-threaded file scanning and just-in-time regular expression compilation. The tool's search and indexing surface covers output
Employs trie-based structures to identify multiple pattern strings within text simultaneously in a single pass.
This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin
Implements algorithms for identifying multiple patterns within text simultaneously.
This project is a data structures and algorithms library providing a collection of fifty standard code implementations for managing data and solving common computational problems. It serves as an algorithm implementation reference and study resource for educational use. The codebase covers graph theory implementations for modeling networks and performing searches, as well as string pattern matching libraries for the retrieval of character sequences. It includes a collection of hierarchical data structures, such as binary search trees and priority heaps, and provides optimized solutions for dy
Organizes character sets into tree structures for fast string matching and lookups.
PEASS-ng is an automated penetration testing framework designed to identify privilege escalation vectors on local systems. It functions as a security assessment utility that scans environments for misconfigurations, sensitive files, and insecure permissions to uncover paths for unauthorized privilege elevation. The project distinguishes itself through a modular script-based enumeration engine that adapts to the target environment. It utilizes environment-aware capability detection and cross-platform shell abstraction to normalize data collection across diverse operating systems, while operati
Identifies insecure configurations by scanning system outputs for multiple known patterns simultaneously.
This project is a high-performance library for converting raw text into tokens and IDs for machine learning models. It functions as a fast text encoder and a text preprocessing pipeline designed to transform strings into numerical representations with high throughput for research and production. The library includes a subword tokenizer trainer used to analyze text datasets and create custom vocabularies using algorithms such as byte-pair encoding and wordpiece. It provides capabilities for subword vocabulary training and text alignment, allowing character offsets to be tracked during normaliz
Uses trie-based structures to efficiently find and replace the longest matching subwords in text streams.
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
Combines multiple regular expressions into a single shared state machine to scan text for several patterns in one pass.
YARA is a pattern matching engine and binary analysis tool used to identify and classify malware samples. It functions as a malware research framework that allows for the definition of file descriptions and detection rules to find indicators of compromise within binaries. The system enables the creation of custom detection rules using strings, wildcards, and regular expressions. These rules use boolean logic to match textual or binary patterns, allowing for the classification of files into specific malware families and the automation of threat intelligence. The engine utilizes Aho-Corasick s
Implements the Aho-Corasick algorithm for simultaneous multi-pattern string matching to ensure linear time scanning.
This project is a comprehensive collection of computer science implementations and an algorithm tutorial repository. It serves as a study guide and reference for competitive programming, providing executable code examples that demonstrate fundamental algorithmic problem solving and mathematical computation. The library covers a wide range of specialized domains, including cryptography and security primitives, lossless data compression techniques, and computational geometry for spatial analysis. It also features implementations of machine learning models, linear algebra operations, and formal
Implements the Aho-Corasick algorithm to find multiple patterns in text simultaneously.
FlashText es un procesador de texto basado en diccionarios y una librería de extracción de palabras clave diseñada para la búsqueda de cadenas de alto rendimiento y el reemplazo programático de contenido. Proporciona utilidades especializadas para identificar y recuperar términos predefinidos de texto o intercambiar términos específicos con cadenas de reemplazo en grandes volúmenes de datos. El proyecto utiliza una implementación de búsqueda de cadenas Aho-Corasick para permitir la coincidencia de múltiples patrones. Este enfoque permite el escaneo de texto en una sola pasada y una complejidad de búsqueda de tiempo lineal, asegurando que el tiempo de procesamiento dependa de la longitud del texto de entrada en lugar del tamaño del diccionario de palabras clave. La librería cubre la gestión de diccionarios de palabras clave para mantener listas de términos específicos y proporciona flujos de trabajo tanto para el reemplazo automático de texto como para la extracción de palabras clave. Estas capacidades permiten la modificación y recuperación sistemática de términos predefinidos dentro de datasets masivos.
Employs a trie-based prefix tree to enable fast lookup of multiple keywords in a single pass.
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. What distinguishes Hyperscan is its hybrid automata engine, which combines deterministic and nondeterministic finite automata t
Matches thousands of regular expressions simultaneously in a single pass using hybrid automata.
GritQL is an AST-based code transformation engine and structural search tool. It uses a declarative query language to identify and rewrite source code patterns across multiple programming languages by matching abstract syntax tree nodes rather than literal text. The system functions as an automated refactoring framework for large-scale migrations and API updates. It distinguishes itself by utilizing sequential transformation pipelines and reusable blueprints that can be synced between local environments and remote repositories. The tool covers a broad range of capabilities including static a
Automatically wraps root patterns in a bubble scope so they match multiple independent sections within a file.
This project is a distributed machine learning platform and sparse deep learning framework designed for training and serving models with high-dimensional sparse data. It functions as an online model serving infrastructure and recommendation system engine, enabling real-time item retrieval and scoring using deep tree matching and neural networks. The system distinguishes itself through a multi-task learning framework that optimizes multiple objective functions within a shared representation space. It features a specialized online serving infrastructure that supports dynamic model hot-loading a
Provides an engine that executes retrieval and matching tasks for large-scale datasets using a deep tree matching process.
Este proyecto es una colección de modelos de redes neuronales y herramientas geométricas diseñadas para la correspondencia de características de imágenes, alineación espacial y localización visual. Proporciona un modelo de red neuronal preentrenado para identificar correspondencias de alta precisión entre características dispersas de imágenes sin requerir entrenamiento local. El sistema utiliza un emparejador de redes neuronales de grafos que emplea mecanismos de atención y paso de mensajes para aprender relaciones espaciales entre puntos de características de imágenes. Integra un estimador de pose de cámara RANSAC para filtrar coincidencias de características y calcular la transformación espacial relativa entre dos puntos de vista de cámara. La biblioteca cubre una amplia gama de capacidades de visión artificial, incluyendo flujos de trabajo de reconstrucción 3D, localización visual y la evaluación de la precisión de emparejamiento mediante métricas de precisión y error de pose. También incluye utilidades para visualizar correspondencias de puntos clave y exportar resultados de emparejamiento para su procesamiento posterior.
Distinguishes high-certainty feature correspondences from noisy matches using probability scores.
Codesearch is an indexed code search engine and large-scale source indexer designed to execute regular expressions across extensive source code trees. It functions as a tool for finding specific text patterns in large codebases by analyzing and indexing massive volumes of source files for rapid retrieval. The system utilizes a specialized trigram-based search index to accelerate complex regular expression queries. This indexing approach filters candidate documents via three-character sequences before applying full regular expression scans to ensure high performance on large datasets. The eng
Uses a fast initial index filter followed by a precise regular expression pass to locate exact boundaries.
This is a Rust regular expression library that provides a finite automata engine for searching and matching text patterns. It functions as a Unicode-compliant text scanner designed to guarantee linear time execution on all inputs to prevent catastrophic backtracking. The engine supports both single and multi-pattern search capabilities, allowing it to scan a piece of text for multiple regular expressions simultaneously. It operates on both strings and raw byte slices to identify matching text segments. The library covers text parsing, string validation, and pattern searching. It includes cap
Implements a system that can scan text for multiple regular expressions simultaneously in a single pass.