CyrilEx 

Tester Regex

 
Expression régulière à tester
Flags
Chaîne à tester Générer une chaîne à partir d'une expression régulière (Bêta)


Chaîne de substitution


CyrilEx est un débogueur de regex en ligne, il vous permet de tester des expressions régulières en PHP (PCRE), Python, Ruby, JavaScript, Java et MySQL. Il vous aide à tester et déboguer des regex en ligne, vous pouvez visualiser les correspondances dans une chaîne de caravtères avec une expression régulière.

Un visualiseur de regex permet de visualiser votre expression régulière, il peut vous aider à la comprendre. Cette fonctionnalité est particulièrement utile pour les grandes expressions régulières.

Cyrilex permet également de générer un exemple de chaîne à partir d'une RegEx. Cela donne une idée assez rapide d'une regex.

Vous pouvez consulter "Quick Start" ou consultez le mode d'emploi pour vous aider à utiliser ce testeur d'expressions régulières.

Mode d'emploi

  • Étape 0 : Choisissez le moteur de regex : JavaScript, Ruby, Java ou PCRE (PHP, Python).
  • Étape 1 : Copiez et collez ou saisissez directement votre expression régulière à tester dans le champ "Expression régulière à tester".
  • Étape 2 : Sélectionnez les flags de votre choix dans la section "Flags".
  • Étape 3 : Copiez et collez ou saisissez directement votre chaîne de test dans le champ "chaîne de test".
  • Dès que vous faites une modification (expression régulière, flags ou chaîne de test) :
    • Étape 4 : Une explication est générée à propos de votre regex. Il utilise regulex, c'est un analyseur et un visualiseur d'expressions régulières JavaScript (Écrit en JavaScript).
    • Etape 5 : Un message indique le nombre de correspondance
    • Votre regex est mis en surbrillance en fonction de la syntaxe. C'est une version beta, ça peut être faux.

    Mode d'emploi regex tester

  • Vous pouvez également remplacer les correspondances d'expressions régulières dans le texte par une chaîne de remplacement.

    Étape 6 : Copiez et collez ou saisissez directement votre chaîne de substitution dans le champ "Substitution".

    Étape 7 : les substitutions sont automatiquement effectuées sur votre chaîne de test.

    regex tester user guide

  • Vous pouvez enregistrer votre regex afin de la partager. Vous pouvez protéger votre partage avec un mot de passe, vous seul pouvez donc le modifier. Voir la section "Enregistrer et partager":

    Partager votre regex tester

Générer une chaîne à partir de RegEx (bêta) :
Clique sur "Générer une chaîne à partir de RegEx (Beta)" afin de générer une chaîne qui correspond à la regex.

Les substitutions ne sont pas gérées.

Nouveauté : Vous pouvez maintenant tester Regex MySQL, sélectionnez le moteur "MySQL 8".



À propos des expressions régulières

Une expression régulière est une séquence de caractères qui définit un modèle de recherche. Ce modèle est utilisé par les algorithmes de recherche de chaînes pour rechercher ou remplacer du texte. Il peut être utile de valider une adresse EMAIL ou une adresse IP.

Le support Regex fait partie de la bibliothèque standard de nombreux langages de programmation. Chaque langage de programmation a son propre moteur regex, les implémentations d'expressions régulières varient légèrement entre les langues.

Humour Regex (Jamie Zawinski):
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.


Regex en ligne

Cyrilex est un vérificateur de regex en ligne, il permet de tester et déboguer facilement les regex. Cela évite de perdre du temps à écrire les quelques lignes de code nécessaires à la réalisation des tests.

Un visualiseur de regex et un générateur de regex vous aident à comprendre et à déboguer vos regex.

Cet outil vous permet également de partager vos expressions régulières, cela peut être utile lorsque vous souhaitez expliquer un de vos problèmes de regex (ou sa résolution) sur un forum.

Générateur d'expressions régulières

Cyrilex permet également de générer une chaîne à partir de votre Regex. En générant une chaîne, cela peut aider à comprendre le Regex. Ceci est particulièrement utile pour les regex assez longues.

Ceci est également utile dans la direction opposée. Vous pouvez valider que votre regex est correcte en validant que le string généré correspond à celui attendu.

Cet outil ne gère pas toutes les fonctionnalités des Regex.


Les incontournables

Quelques regex qui peuvent être utiles (sans garantie).

Adresse e-mail

La dernière RFC est complexe, il n'y a pas de solution fiable, cette regex devrait fonctionner plus de 99% du temps (vous devez désactiver la sensibilité à la casse).

^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a- z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23 -\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[ a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?| \[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}( ?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0 -9] :( ? :[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\ x7f])+)\]))$

Alphanumérique

La regex ci-dessous permet de valider une chaîne alphanumérique. Attention, \w autorise le caractère underscore.

^[a-zA-Z0-9]+$

MD5

La regex ci-dessous permet de valider la chaîne MD5.

^[a-f0-9]{32}$

IP V4

La regex ci-dessous permet de valider IP v4.

^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9] ?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$


Enregistrer l'expression régulière
Votre regex a été enregistrée de façon permanente et vous (ou n'importe qui) pouvez y accéder avec ce lien :
Mot de passe
Choisissez un mot de passe pour modifier/supprimer cette regex ultérieurement. Entrez le mot de passe pour modifier cette regex. Entrez le mot de passe pour supprimer cette regex. Entrez le nouveau mot de passe pour la fourchette (fork).
You can report a bug or give feedback by adding a comment (below) or by clicking "Contact me" link (at the top right hand corner of the page).

Comments




Dietmar Schindler-2020-03-10 14:23
If the expression isn't understood by the engine, the error message is visible too shortly.
Also it would be important to know which Python version is used for the Python RegEx engine
(it seems to not understand "(?i:…)").
Example: \b(([A-Z])([A-Z])?([A-Z])?([A-Z])?) (?:\w+ ){,1}\(?from .*?(?P<full>\2.*?(?i:\3?.*?\4?.*?\5?).*?)\b


Cyril (admin)-2020-03-21 15:23
Yes, I will add it!


cyril (admin)-2020-07-02 19:53
I added it!


ikenfin-2020-06-24 10:49
Hi!

Found a little bug with substitution text parsing.
For example, using ruby named groups - https://extendsclass.com/regex/ffedfad (password: 123)
While editing some unicode symbols in substitution field seems broke parser (play with ¢ symbol)


Cyril (admin)-2020-06-24 16:45
Hi, thank you for reporting this bug!


Cyril (admin)-2020-06-27 20:56
It is fixed :)


nhoquim-2021-01-19 13:15
Dear,
I have try and a condition group in the REGEX as below:
(S120)(?:(T)|([V|W|Z]))((?(2)[1|3]|[0|1|2|3]))
The last group can be values 1 or 3 in case of group 2 is select. In case of group 3 is select, the last digit will be 0,1,2 or 3.
It works in Python but not in your system.
Could you check?


Cyril-2021-01-19 14:40
Hello,
I am trying with the string "S120V2" and there is 1 match.
Can you share your test ("Save & Share") ?


David Spector-2021-05-17 16:24
This tool only produces a pretty equivalent to the RE itself. It fails to show the PHP match array that is generated. This is important when using the "groups" feature of REs.


Sezer-2021-08-26 00:57
Very cool regex tester! Congrats...


VJ-2021-10-14 17:56
Hi,
I download the version from gitlab, tried the regex:
^[a-f0-9]{32}$

But it fails with the error:

result is not defined

Seems the "$" is not being accepted. Can you please have a look.
The online version works fine.


John-2021-12-13 21:19
Doesnt recognize # literal character - issues an error "prefix not defined"


Cyril-2024-03-14 13:31
It's finally corrected...!


Rishabh-2022-01-07 12:05
Hello creater,
This tool is very useful along with other functionalies provided.
I move to regex when other methods fail.

Thanks.
as they say, you try to solve a problem using regex , now you have two problems.