117 repositorios
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.
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.
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.
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.
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
Implements tree-based structures for fast string pattern matching and lookups.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.