Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

expression régulière - vim - colorisation

1 réponse
Avatar
nicolas_laurent545
Bonjour
J'ai des pseudo-phrases s=E9par=E9es par (-) et j'essaye de les capturer
tous par une expression r=E9guli=E8re dans VIM

1=2Eraisonner-se tromper
2=2Ereprendre-prendre =E0 bail
3=2Emiser-s'amuser-leurrer
4=2Efatiguer-an=E9antir-ext=E9nuer
5=2Eproduire un effet-se soumettre =E0 une op=E9ration chirugicale

J'ai essay=E9 plusieurs, dont
/[a-=EAz=E9=EA=E2=E8=F4=EE=E8=E7=FB=E2=EF-]*-[a-=EAz=E9=EA=E2=E8=F4=EE=E8=
=E7=FB=E2=EF ]*
mais je n'arrive pas =E0 fabriquer une seule re qui les capture tous.
Votre aide est appr=E9ci=E9e.
Merci

1 réponse

Avatar
Olivier Miakinen

J'ai des pseudo-phrases séparées par (-) et j'essaye de les capturer
tous par une expression régulière dans VIM

1.raisonner-se tromper
2.reprendre-prendre à bail
3.miser-s'amuser-leurrer
4.fatiguer-anéantir-exténuer
5.produire un effet-se soumettre à une opération chirugicale

J'ai essayé plusieurs, dont
/[a-êzéêâèôîèçûâï-]*-[a-êzéêâèôîèçûâï ]*
^ ^

Je suppose que ce « ê » en plein milieu du « a-z » est une erreur.

mais je n'arrive pas à fabriquer une seule re qui les capture tous.


Ce serait bien que tu donnes aussi des exemples de ce qui ne fait *pas*
partie de la recherche. Par exemple, si la ligne complète est une pseudo
phrase à partir du moment où tu as un trait d'union entre deux lettres,
cela peut être tout simplement :

/.*[a-z]-[a-z].*/

(je simplifie mon exemple et le suivant en ne considérant que les
minuscules sans accents).


Mais si dans le texte suivant :

Oh ! c'est une pseudo-phrase ici ! Mince alors !

... tu ne veux garder que ce qui commence par le « c » de « c'est » et
finit par le second « i » de « ici », en excluant les espaces avant et
après, alors cela pourrait être :

/[a-z][a-z ']*-[a-z '-]*[a-z]/

C'est-à-dire :

1) on commence par une lettre
2) il peut y avoir des lettres, espaces et apostrophes
3) il y a au moins un trait d'union
4) comme en (2), sauf que l'on accepte qu'il y ait d'autres « - »
5) on finit par une lettre

J'ai bien compris le problème ? La solution te convient ? Sinon,
n'hésite pas à préciser davantage.