Expression régulière en python

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour, je suis en train de me faire un parseur et j'écris une regex mais je suis confronté à un problème.

Si j'étais en maths, j'aimerais avoir quelque chose comme ceci :

$$((R|L|B|F|U|D)('|2|\epsilon))*$$

En maths, $\epsilon$ correspond au "mot vide" c'est à dire rien. Mais je n'arrive pas à trouver l'équivalent pour le python.

Merci d'avance pour votre aide ! :)

+0 -0

Cette réponse a aidé l'auteur du sujet

((R|L|B|F|U|D)('|2){0,1})* ?

En principe, cette regexp reconnait cela :

  • Le mot vide ;
  • Les mots ne comportant qu'une lettre : R, L, B, F, U ou D ;
  • Les mots suites de couples de deux lettres dont la première est R, L, B, F, U ou D et la seconde ' ou 2. Par exemple, "R2" ou "D'L2".

{m, n} signifie que le motif peut être répété de $m$ à $n$ fois.

Édité par Vayel

+0 -0
Auteur du sujet

Du coup je me retrouve avec de nouvelles questions…

Mon but final est de découper la chaîne de caractère en un tableau de mot qui colle à cette regex. J'ai vu la fonction split, mais j'ai une sortie bizarre, remplie de mot vides…

+0 -0
Auteur du sujet

Merci beaucoup !

J'avoue avoir un peu du mal à trouver ce que je veux pour l'instant. J'ai travaillé pendant 1 an et demie avec Java, du coup j'ai plus trop besoin de chercher dans la doc j'ai perdu cette habitude !

Merci beaucoup !

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte