Regex NFA

Construire un AFN de Thompson et suivre ses états actifs caractère par caractère.

À propos de cet outil

Explorez la construction d’un automate fini non déterministe (AFN) de Thompson. Choisissez un exemple ou saisissez un motif et du texte. Vérifier évalue toute la saisie ; Étape démarre ou avance le parcours, Réinitialiser revient au caractère zéro. Une saisie vide est valide. Motif et texte acceptent de vrais sauts de ligne. Entrée ajoute un saut ; Ctrl/Meta + Entrée vérifie le texte.

Les cercles surlignés sont actifs, la flèche isolée indique le départ, un double cercle l’acceptation. Les flèches ε en pointillés ne consomment aucun caractère. À chaque étape, l’ensemble actif comprend tous les états accessibles par ε. L’acceptation exige la fin de toute la saisie, pas seulement un préfixe. Le caractère marqué est le suivant ; les caractères atténués sont déjà lus. Le diagramme défile dans son propre cadre.

Syntaxe : caractères Unicode, ., |, (), *, +, ?, classes positives [abc] et [a-z], \d, \w, \s, ponctuation échappée comme \. et \n, \r, \t, \f, \v. Le point exclut les séparateurs de ligne ; \d et \w utilisent ASCII, \s les espaces JavaScript. colou?r accepte color et colour. La saisie est du texte réel, pas une chaîne échappée.

Outil pédagogique sans ancres, classes négatives, répétitions comptées ou non gourmandes, assertions, indicateurs ni références arrière. Limites : 128 caractères de motif, 512 de saisie, 256 états. Complexité O(longueur de saisie × états), sans retour arrière. Pour la recherche et les captures, utilisez Regex Tester. Voir Russ Cox : construction et simulation de Thompson.

Motif, texte et exemple sont conservés localement, même invalides. Les anciennes entrées restent lisibles. Rechargement et navigation conservent les entrées ; l’évaluation redémarre à la demande. Un brouillon trop volumineux conserve la copie précédente et affiche un avertissement. Les longues classes élargissent seulement les colonnes nécessaires ; les grands graphes défilent localement au clavier.