Disons que j'ai un tampon avec du texte. Je voudrais tester une expression régulière (idéalement de type Perl) contre mon tampon et demander à Emacs de mettre en évidence les correspondances dessus.
Par exemple, l'expression rationnelle suivante ( tirée de Wikipedia ):
(?<=\.) {2,}(?=[A-Z])
correspondrait comme suit sur le texte suivant:
Cette expression régulière correspond en particulier à au moins deux espaces survenant après le point (.)
et avant une lettre majuscule.
Emacs fournit-il un matcher d'expression régulière interactif pour les expressions régulières Perl ?
Si la réponse à cette dernière est non:
Y a-t-il une raison pour laquelle le support natif des expressions régulières Perl n'a pas (jamais) été pris en compte dans Emacs? (considérant qu'il s'agit d'un standard bien connu sous Unix / Linux)
Comment pourrait-on procéder pour construire un tel matcher d'expressions rationnelles Perl? (peut-être appeler Perl sous le capot, ou pré-convertir l'expression rationnelle de Perl en une variante prise en charge?)
la source
Réponses:
Il existe deux paquets sympas pour travailler efficacement avec des expressions rationnelles de type perl, qui devraient être utilisés ensemble - visual-regexp et son extension - visual-regexp-steroids . Ils sont un excellent ajout à emacs:
la source
re-builder
permet la construction à la volée d'expressions régulières de style lisp emacs. Je ne sais pas s'il existe un package équivalent pour la construction interactive des expressions régulières Perl.Voir http://www.masteringemacs.org/articles/2011/04/12/re-builder-interactive-regexp-builder/ pour plus de discussion.
la source