Testeur d'expressions régulières

Testez les expressions régulières avec surlignage des correspondances en temps réel, explications des jetons et génération de chaînes exemples

/ /
0 correspondance
Les correspondances seront surlignées ici.
Aucune correspondance pour l'instant.
  • L'explication du motif apparaîtra ici.

                

Comment utiliser

Étape 1

Entrer le motif

Tapez votre regex et sélectionnez les drapeaux pertinents.

Étape 2

Tester le texte en direct

Voyez les correspondances surlignées et les groupes de capture en temps réel.

Étape 3

Interpréter et générer

Consultez l'explication du motif et générez des chaînes exemple.

FAQ

Le testeur Regex prend-il en charge les drapeaux comme g, i, m, s et u ?

Oui. Vous pouvez activer dans le testeur les drapeaux global, insensible à la casse, multiligne, dotAll, unicode et sticky.

Comment fonctionne l'explication de Regex ?

L'analyseur lit votre motif token par token et génère des explications en langage clair pour les ancres, les classes, les groupes et les quantificateurs.

Puis-je générer des chaînes d'exemple à partir d'une Regex ?

Oui. Le générateur d'exemples crée une chaîne représentative à partir de votre motif actuel afin de vérifier rapidement que tout fonctionne comme prévu.

Quelle est la différence entre correspondance gourmande et paresseuse ?

Un quantificateur gourmand comme .* consomme un maximum de caractères, puis effectue un retour arrière ; son jumeau paresseux .*? s'arrête à la première correspondance. Sur le texte say "hi" bye, le motif "..*" capture toute la ligne, tandis que ".*?" ne capture que hi. La capture gourmande est le comportement par défaut - ajoutez ? pour rendre n'importe quel quantificateur paresseux.

Comment fonctionnent les groupes de capture et les références arrière ?

Les parenthèses capturent : (\d{4})-(\d{2}) appliqué à 2026-09-19 donne groupe 1 = 2026 et groupe 2 = 09, et dans un motif de remplacement $1 réutilise le texte capturé. Les groupes nommés comme (?<year>\d{4}) se lisent mieux dans les motifs complexes. JavaScript numérote les groupes selon leur parenthèse ouvrante, à partir de 1 - le groupe 0 est toujours la correspondance entière.

Quand ai-je besoin du drapeau u (Unicode) ?

Ajoutez u dès que le motif ou le texte contient des caractères non ASCII : il fait suivre à \w et \d les règles Unicode, active les échappements de propriétés comme \p{L} et \p{Script=Arabic}, et traite les émojis comme des caractères uniques. Sans u, une paire de substitution UTF-16 peut être coupée en deux par un point.

Comment interagissent ^, $ et les drapeaux m et s ?

Par défaut, ^ et $ ancrent la chaîne entière et . ignore les sauts de ligne. Le drapeau m (multiline) fait correspondre ^ et $ à chaque limite de ligne, et le drapeau s (dotAll) permet à . de traverser les retours à la ligne. Une combinaison courante pour l'analyse de logs est les deux drapeaux ensemble : /error.*timeout/gms.

Quel dialecte Regex ce testeur utilise-t-il ?

Il exécute le moteur JavaScript de votre navigateur et suit donc la sémantique Regex d'ECMAScript (ECMA-262) - le même moteur que String.prototype.match utilise en production JS. Notez les différences avec PCRE ou Python : JavaScript n'a pas de \K ni de récursivité, et le lookbehind n'est arrivé qu'avec ES2018. Les motifs écrits pour Perl ou PCRE peuvent nécessiter de petits ajustements.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}