3 dépôts
High-performance text scanning using Deterministic Finite Automata for linear-time pattern discovery.
Distinct from Text Pattern Matching: Focuses specifically on the DFA implementation for high-speed word detection, whereas Text Pattern Matching is a general category.
Explore 3 awesome GitHub repositories matching data & databases · DFA-Based Scanning. Refine with filters or upvote what's useful.
Ce projet est une bibliothèque Java haute performance et un framework de modération de contenu conçu pour détecter et masquer les mots interdits dans le texte. Il utilise un scanner d'automate fini déterministe (DFA) pour implémenter une détection efficace des mots par correspondance la plus longue. Le moteur se distingue par un pipeline de normalisation de texte et un préprocesseur de filtrage de bruit qui standardisent la casse des caractères, les scripts et les largeurs tout en supprimant les caractères spéciaux intercalés pour prévenir l'évasion du filtre. Il prend en charge la gestion dynamique des dictionnaires, permettant aux listes noires et listes blanches d'être mises à jour en arrière-plan sans nécessiter de redémarrage du système. Le framework couvre un large éventail de capacités de modération, incluant la classification de mots basée sur des tags pour la catégorisation des violations, le traitement récursif des correspondances pour gérer les mots sensibles imbriqués, et la détection de motifs pour identifier les données structurées comme les URL et les adresses e-mail. Il inclut également des utilitaires pour la désinfection des entrées afin de supprimer les balises HTML et les éléments de script.
Implements a high-performance DFA scanner for efficient longest-match sensitive word detection.
Flex est un générateur de scanners et un générateur d'analyseurs lexicaux qui transforme les définitions d'expressions régulières en logiciels capables de convertir du texte d'entrée en jetons (tokens). Il génère principalement du code source C et C++ pour une utilisation dans le développement de compilateurs et d'interpréteurs. L'outil fournit un générateur spécifique pour produire des implémentations de scanners orientées objet sous forme de classes, permettant aux outils d'analyse lexicale de s'intégrer directement dans les projets logiciels C++. Il inclut également une chaîne d'outils de compilation croisée pour construire des implémentations de scanners pour des plateformes cibles différentes de la machine hôte. Le projet couvre des capacités fonctionnelles pour le suivi des colonnes d'entrée afin de prendre en charge des rapports d'erreurs précis et la gestion des fichiers de sauvegarde pour éviter les collisions de noms.
Uses Deterministic Finite Automata to convert regular expressions into high-performance scanners.
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
Builds the deterministic state machine incrementally during execution and caches results to balance memory use and speed.