awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

117 repositorios

Awesome GitHub RepositoriesString Matching Algorithms

Algorithms for locating patterns or substrings within larger text sequences.

Distinguishing note: No existing string algorithm categories were provided; this creates a specific grouping for pattern matching techniques.

Explore 117 awesome GitHub repositories matching software engineering & architecture · String Matching Algorithms. Refine with filters or upvote what's useful.

Awesome String Matching Algorithms GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • trekhleb/javascript-algorithmsAvatar de trekhleb

    trekhleb/javascript-algorithms

    196,089Ver en GitHub↗

    This repository is a comprehensive collection of data structures and algorithms implemented in JavaScript, designed primarily as an educational resource for computer science study and technical interview preparation. It provides modular implementations of fundamental programming concepts, allowing developers to explore algorithmic logic and data organization through self-contained, verifiable code examples. The library distinguishes itself by pairing every implementation with formal Big O notation, providing predictable insights into time and space scaling requirements. Each algorithm is stru

    Implements efficient substring search algorithms to minimize redundant character comparisons.

    JavaScriptalgorithmalgorithmscomputer-science
    Ver en GitHub↗196,089
  • ziishaned/learn-regexAvatar de ziishaned

    ziishaned/learn-regex

    46,092Ver en GitHub↗

    This project is a regular expression learning resource and tutorial designed to teach the syntax and logic used to find, match, and manipulate text strings. It serves as a comprehensive guide and syntax reference for building complex search queries and data validation logic. The material covers the use of meta-characters, quantifiers, and boundary markers to define precise text match patterns. It includes instructional content on the logic of greedy and lazy matching, as well as the implementation of capture groups. The resource details a wide range of pattern matching capabilities, includin

    Explains the logic of choosing between the longest and shortest possible matches.

    learn-regexregexregular-expression
    Ver en GitHub↗46,092
  • facebook/zstdAvatar de facebook

    facebook/zstd

    27,259Ver en GitHub↗

    Zstandard is a lossless data compression library and archive format designed for high compression ratios and fast real-time processing. It functions as a real-time data compressor and multi-threaded compression engine capable of distributing workloads across multiple CPU cores to increase throughput. The system features a dictionary-based compressor that trains on sample data to improve the compression ratio and speed of small files. It also provides long distance pattern matching to identify repeated sequences across large files. The library covers a broad range of capabilities including st

    Replaces recurring strings of bytes with references to previous occurrences within the data stream.

    C
    Ver en GitHub↗27,259
  • ggreer/the_silver_searcherAvatar de ggreer

    ggreer/the_silver_searcher

    27,072Ver en GitHub↗

    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.

    Cagccommand-line-tool
    Ver en GitHub↗27,072
  • oi-wiki/oi-wikiAvatar de OI-wiki

    OI-wiki/OI-wiki

    26,176Ver en GitHub↗

    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.

    TypeScriptacm-icpcacm-icpc-handbookalgorithms
    Ver en GitHub↗26,176
  • wangzheng0822/algoAvatar de wangzheng0822

    wangzheng0822/algo

    23,159Ver en GitHub↗

    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

    Implements tree-based structures for fast string pattern matching and lookups.

    Python
    Ver en GitHub↗23,159
  • krisk/fuseAvatar de krisk

    krisk/Fuse

    20,347Ver en GitHub↗

    Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend. The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys. The

    Provides an approximate string matching utility based on edit distance to handle typos.

    JavaScriptbitapjavascriptlightweight-fuzzy-search
    Ver en GitHub↗20,347
  • crystal-lang/crystalAvatar de crystal-lang

    crystal-lang/crystal

    20,299Ver en GitHub↗

    Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor

    Evaluates equality or relative order between strings using character-by-character comparison.

    Crystalcompilercrystalcrystal-language
    Ver en GitHub↗20,299
  • peass-ng/peass-ngAvatar de peass-ng

    peass-ng/PEASS-ng

    19,337Ver en GitHub↗

    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.

    C#bashbatchbatch-script
    Ver en GitHub↗19,337
  • twpayne/chezmoiAvatar de twpayne

    twpayne/chezmoi

    18,075Ver en GitHub↗

    chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple machines. It uses a local Git repository as the single source of truth, allowing users to track, version, and distribute dotfiles while maintaining a consistent state across diverse operating systems and hardware architectures. The project distinguishes itself through a declarative reconciliation model that computes the difference between the current filesystem and the desired state defined in the repository. It features a robust templating engine that processes configuration files

    Enables case-insensitive string comparisons within configuration templates for flexible logic.

    Goconfigurationdotfiledotfile-management
    Ver en GitHub↗18,075
  • wting/autojumpAvatar de wting

    wting/autojump

    16,928Ver en GitHub↗

    Autojump is a shell directory navigation tool and weighted directory search utility. It functions as a path shortcut manager that allows users to jump to frequently visited directories using partial name matching. The tool optimizes shell workflows by learning navigation patterns and maintaining a weighted database of visited paths. It ranks folders based on access frequency and recency to resolve ambiguous queries and minimize the keystrokes required to reach deeply nested directories. Beyond shell navigation, the utility provides integration with native system file explorers to launch mana

    Provides a toggle to switch between case-sensitive and case-insensitive string comparison when matching directory names.

    Pythonautojumpcommand-line-toolfilesystem
    Ver en GitHub↗16,928
  • davatorium/rofiAvatar de davatorium

    davatorium/rofi

    16,213Ver en GitHub↗

    Rofi is a keyboard-driven application launcher and window switcher for X11 desktops. It functions as a scriptable command palette and a compatible emulator for dmenu, capable of reading options from standard input and returning a user selection to standard output. The project is distinguished by a customizable window interface using a CSS-like theming system and a flexible box-model widget hierarchy. It features a recursive theme inheritance system and responsive styling that adapts based on screen dimensions and monitor identifiers. The tool provides advanced text filtering using fuzzy, reg

    Filters lists using a combination of fuzzy, regex, glob, and prefix matching algorithms.

    Capplication-launchercdmenu
    Ver en GitHub↗16,213
  • uuidjs/uuidAvatar de uuidjs

    uuidjs/uuid

    15,302Ver en GitHub↗

    This project is a UUID generation library providing a standards-compliant implementation of RFC 4122. It serves as a tool for creating and validating universally unique identifiers across multiple versions to ensure global uniqueness and prevent data collisions. The library supports several generation methods, including random-based entropy, timestamp sequencing, and namespace-based hashing. It also includes utilities for identifier validation, parsing, and converting identifiers between hexadecimal string representations and binary byte arrays. A command line utility is included for the man

    Generates deterministic identifiers by hashing a combination of a fixed namespace and a specific input string.

    TypeScript
    Ver en GitHub↗15,302
  • kelektiv/node-uuidAvatar de kelektiv

    kelektiv/node-uuid

    15,297Ver en GitHub↗

    node-uuid is a JavaScript library for generating and validating universally unique identifiers that comply with the RFC 4122 standard. It provides a utility for creating random, timestamp-based, or namespace-based identifiers within a Node.js environment. The library includes tools for detecting the specific standard version of a provided identifier and transforming identifiers between different versions. It also provides a command line utility for generating identifiers directly from the terminal. The project covers binary manipulation, including parsing strings into byte arrays and stringi

    Implements namespace-based UUID generation using SHA-1 digests as per RFC 4122.

    TypeScript
    Ver en GitHub↗15,297
  • jbranchaud/tilAvatar de jbranchaud

    jbranchaud/til

    14,116Ver en GitHub↗

    This project is a markdown knowledge base used to maintain a curated collection of concise technical notes and write-ups across various programming languages and tools. It serves as a searchable personal reference library for documenting technical discoveries and software development patterns. The system implements a learning in public workflow, transforming markdown-based content storage into a static site. It utilizes directory-based routing to map folder structures to URL paths and employs schema-driven type generation to ensure data consistency across the knowledge base. The codebase cov

    Finds strings within files regardless of capitalization using case-insensitive matching.

    Vim Script
    Ver en GitHub↗14,116
  • sbilly/awesome-securityAvatar de sbilly

    sbilly/awesome-security

    14,022Ver en GitHub↗

    This project is a comprehensive, curated directory of cybersecurity resources, software, and documentation designed to support system and network protection. It serves as a centralized knowledge base and index for security professionals, aggregating industry-standard practices and open-source tools across a wide range of technical domains. The repository distinguishes itself by providing a structured collection of methodologies and frameworks for security operations. It covers critical areas including threat intelligence, digital forensics, infrastructure auditing, and vulnerability assessmen

    Compares incoming data streams against a database of known threat patterns to identify malicious activity.

    awesome-listsecurity
    Ver en GitHub↗14,022
  • ramsey/uuidAvatar de ramsey

    ramsey/uuid

    12,620Ver en GitHub↗

    This PHP library provides tools for generating and validating universally unique identifiers according to RFC 4122 standards. It implements a generation tool for creating version 1, 3, 4, and 5 identifiers, as well as sequential and Nil UUIDs. The library features specialized capabilities for transforming identifiers between hexadecimal strings, binary bytes, integers, and date objects. It supports the generation of sequential identifiers to improve database indexing and storage performance, as well as deterministic name-based identifiers using MD5 or SHA-1 hashing. The project includes a va

    Generates deterministic version 3 and 5 identifiers by hashing a namespace and name together.

    PHPguididentifiersphp
    Ver en GitHub↗12,620
  • mvt-project/mvtAvatar de mvt-project

    mvt-project/mvt

    12,481Ver en GitHub↗

    This project is a command-line forensic toolkit designed for the investigation and security auditing of mobile devices. It provides a framework for collecting system logs, application data, and forensic artifacts to identify potential security breaches, unauthorized access, or evidence of malicious activity. The utility employs a modular extraction architecture that parses diverse file formats and system logs into a standardized, normalized data structure. By utilizing this unified format, the tool performs both heuristic analysis of system metadata and pattern matching against structured thr

    Compares forensic artifacts against threat intelligence databases to identify known malicious signatures and spyware.

    Pythonandroidforensicsforensics-tools
    Ver en GitHub↗12,481
  • lz4/lz4Avatar de lz4

    lz4/lz4

    11,882Ver en GitHub↗

    This project provides a lossless compression algorithm and a byte-oriented compression library designed for high-speed data reduction and maximum decompression speed. It functions as a stream-oriented compression engine, a software library for encoding and decoding data blocks, and a command-line tool for managing interoperable compressed frames. The system distinguishes itself through the use of predefined pattern dictionaries to improve compression ratios for small data sets and small packets. It supports multiple processing modes, including high-speed block compression for minimal latency

    Uses sequence matching algorithms to replace repeated byte sequences with distance-length references for lossless compression.

    Cccompressionlz4
    Ver en GitHub↗11,882
  • javve/list.jsAvatar de javve

    javve/list.js

    11,222Ver en GitHub↗

    list.js is a JavaScript search and sort library used to add real-time filtering, sorting, and pagination to HTML lists and tables without backend dependencies. It functions as a DOM data indexer and template-driven HTML renderer, allowing developers to manage how data is displayed and discovered on the client side. The library distinguishes itself through a fuzzy string matching engine that handles approximate matches and typos, and a DOM data indexer that extracts values directly from HTML data attributes to build a searchable internal index. It uses a template-driven rendering system to gen

    Implements an approximate string matching algorithm to find the closest textual matches for search queries.

    JavaScripteasy-to-usefiltersflexibility
    Ver en GitHub↗11,222
Ant.12345…6Siguiente
  1. Home
  2. Software Engineering & Architecture
  3. String Matching Algorithms

Explorar subetiquetas

  • Aho-Corasick ImplementationsSpecific implementations of the Aho-Corasick algorithm for multiple-pattern matching. **Distinct from String Matching Algorithms:** Specializes general string matching algorithms to the specific Aho-Corasick automaton approach
  • Approximate Matching Tools3 sub-etiquetasTools designed to identify the most similar strings from a set of candidates based on distance metrics. **Distinct from String Matching Algorithms:** Focuses on identifying the 'best' approximate match rather than locating all patterns or specific biometric identities.
  • Approximate String Searching1 sub-etiquetaFinding the closest textual matches for a query within a list of candidates using similarity scores. **Distinct from String Matching Algorithms:** Focuses on approximate matching for search retrieval rather than exact pattern or substring location.
  • Best Match Extraction1 sub-etiquetaThe process of selecting the single most similar string from a list of candidate strings. **Distinct from String Matching Algorithms:** Focuses on the extraction of the top-ranked match rather than general pattern matching or memory extraction.
  • Boundary MarkersSymbols used to restrict matches to the start or end of a string. **Distinct from String Matching Algorithms:** Focuses on regex anchors (^, $) rather than general string search algorithms.
  • Configurable Matching StrategiesString comparison utilities that support multiple configurable matching strategies for user input against item text. **Distinct from String Matching Algorithms:** Distinct from general String Matching Algorithms: focuses on configurable strategies for launcher search rather than algorithmic pattern location.
  • Cross-String Substring MatchingTechniques for detecting substrings that span across concatenated string variants. **Distinct from String Matching Algorithms:** Focuses on patterns that appear across the boundaries of concatenated strings, unlike standard substring search.
  • Exact String MatchingsMatching strings using strict equality rather than substring or pattern-based algorithms. **Distinct from String Matching Algorithms:** Distinct from String Matching Algorithms: focuses on exact equality matching, not substring or pattern-based approaches.
  • Greediness ControlToggling between greedy and lazy matching behaviors in regex engines. **Distinct from String Matching Algorithms:** Focuses on the greediness toggle specifically rather than the general category of string algorithms.
  • Hashing-Based Matching7 sub-etiquetasPattern matching techniques using precomputed string hashes. **Distinct from String Matching Algorithms:** Focuses on hash-based matching, distinct from general string matching algorithms.
  • Mismatch-Allowed Matching AlgorithmsAlgorithms for finding pattern occurrences in strings allowing for a specified number of character mismatches. **Distinct from String Matching Algorithms:** Focuses on mismatch-allowed matching, distinct from exact string matching.
  • Multi-Pattern Matching Algorithms3 sub-etiquetasAlgorithms 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.
  • Partial String Matching7 sub-etiquetasAlgorithms for finding the best matching substring of a shorter string within a longer string. **Distinct from String Matching Algorithms:** Specifically targets embedded substring matching rather than general pattern location or LZ77 sequence matching.
  • Pattern Matching Optimization AlgorithmsAlgorithms for accelerating pattern matching via pre-calculated state transitions and bitmasking. **Distinct from String Matching Algorithms:** Focuses on matching optimization, distinct from general string matching.
  • Repetition Overlap MatchesAlgorithms to determine the minimum number of string repetitions required to encompass another string. **Distinct from String Matching Algorithms:** Focuses on calculating the necessary repetitions for containment rather than locating a pattern or compressing a string.
  • Rotation VerificationsAlgorithms to verify if one string is a cyclic rotation of another using concatenation and hashing. **Distinct from String Matching Algorithms:** Specifically checks for rotational equivalence rather than general pattern location.
  • Sequence Matching AlgorithmsTechniques for identifying redundant byte sequences to replace them with distance-length references. **Distinct from String Matching Algorithms:** Specializes general string matching into the specific LZ77 logic used for lossless compression.
  • Single String UtilitiesUtilities for performing one-off matches on individual strings without full index construction. **Distinct from String Matching Algorithms:** Distinct from general matching algorithms: focuses on stateless, one-off comparisons rather than index-based retrieval.
  • String Comparisons8 sub-etiquetasEvaluates equality or relative order between strings. **Distinct from String Matching Algorithms:** Distinct from String Matching Algorithms: focuses on basic equality and ordering operators rather than complex pattern search algorithms.