La recherche et le remplacement à l'aide d'expressions régulières sont clairement un outil puissant pour l'utilisateur Emacs qui peut régulièrement effectuer ces actions. Cependant, en tant que débutant Emacs (et / ou programmation), les expressions régulières doivent être apprises et pratiquées.
Puis-je apprendre et former des expressions régulières de manière interactive dans Emacs, de la même manière que le didacticiel Emacs intégré? Sinon, quelles sont les autres suggestions pour utiliser Emacs pour pratiquer l'utilisation d'expressions régulières pour la recherche et le remplacement?
regular-expressions
learning
Felix Z. Hoffmann
la source
la source
Réponses:
En outre,
regexp-builder
vous pouvez également envisager visual-regexp pour vous fournir des commentaires visuels sur le remplacement en cours:la source
anzu
, ce qui fait la même chose et plus encore.Vous pouvez essayer
M-x regexp-builder RET
un matcher d'expression régulière interactif, ce n'est pas malla source
C-g
ne quittez pas comme prévu.C-c C-q
est le raccourci clavier par défaut pour quitter le générateur d'expressions rationnelles lorsque vous avez fini de vous entraîner.J'utilise
regexp-builder
ce qui vous permet de tester les expressions rationnelles de manière interactive et d'obtenir des commentaires. Et bien sûr, une fois que j'ai commencé à l'utiliser, je me suis immédiatement demandé "Comment puis-je alimenter cette expression régulièrequery-replace-regexp
?"La réponse que j'ai choisie est la fonction suivante définie sur la page EmacsWiki ReBuilder .
Mon workflow est donc:
M-x re-builder
M-x reb-query-replace
la source
Cela peut être d'une grande aide lorsque vous apprenez à utiliser des expressions rationnelles pour voir ce qui correspond à quelles parties d'une expression rationnelle - en particulier, les groupes d'expression rationnelle. Et pour le faire de manière interactive et incrémentielle.
Dans la lignée de la réponse de @ immerr, la recherche Icicles a longtemps été mise en évidence de la même manière.
la source
Vous pouvez également utiliser helm-regexp qui affiche séparément les groupes d' expressions régulières.
la source
Pas dans emacs, mais http://rubular.com/ est essentiellement
regexp-builder
avec un cheat-sheet. Vous pouvez configurer un exemple et lui faire cracher un lien vers cet exemple. Je l'utilise lorsque je discute de regex avec une équipe.la source
Comme alternative à Dave F,
regexp-builder
vous pouvez également créer du texte arbitraire pour pratiquer la correspondance de motifs.La caractéristique la plus utile de cette commande est qu'elle mettra en surbrillance les correspondances dans le tampon au fur et à mesure que le modèle est créé pour vous aider à garantir les correspondances de modèle appropriées.
L'utilisation de
(query-replace-regexp)
( C-M-%) et la création d'une expression régulière pour effectuer le remplacement souhaité vous aideront à vous entraîner.la source
regexp-builder
ne le proposent pas déjà? Le problèmequery-replace-regexp
est que vous devez écrire une expression rationnelle entière, puis vous y engager pour savoir à quoi elle correspond. Si vous n'aimez pas le résultat, vous devez tout recommencer.regexp-builder
affiche les matchs à la volée, ce qui facilite le réglage de votre expression rationnelle jusqu'à ce que cela fonctionne si vous ne savez pas ce que vous faites.query-replace-regexp
, vous vous habituerez à l'utiliser spécifiquement dans Emacs