Buscar y reemplazar usando expresiones regulares es claramente una herramienta poderosa para el usuario de Emacs que puede realizar estas acciones de manera rutinaria. Sin embargo, como principiante de Emacs (y / o programación), las expresiones regulares necesitan ser aprendidas y practicadas.
¿Puedo aprender y entrenar expresiones regulares de manera interactiva en Emacs, de manera similar al tutorial incorporado de Emacs? Si no, ¿cuáles son otras sugerencias para utilizar Emacs para practicar el uso de expresiones regulares para buscar y reemplazar?
                    
                        regular-expressions
                                learning
                                
                    
                    
                        Felix Z. Hoffmann
fuente
                
                fuente

Respuestas:
Además
regexp-builder, también puede considerar visual-regexp para proporcionarle comentarios visuales sobre el reemplazo en progreso:fuente
anzu, que hace lo mismo y más.Puedes probar
M-x regexp-builder RETcuál es un emparejador interactivo de expresiones regulares, eso no está malfuente
C-gno salga como esperaba.C-c C-qes la combinación de teclas predeterminada para salir del generador de expresiones regulares cuando haya terminado de practicar.Utilizo el
regexp-builderque le permite probar expresiones regulares de forma interactiva y obtener comentarios. Y, por supuesto, una vez que comencé a usar eso, inmediatamente me pregunté "¿Cómo puedo alimentar esta expresión regularquery-replace-regexp?"La respuesta que elegí es la siguiente función definida en la página EmacsWiki ReBuilder .
Entonces mi flujo de trabajo es:
M-x re-builderM-x reb-query-replacefuente
Puede ser de gran ayuda cuando se aprende a usar expresiones regulares para ver qué coincide con qué partes de una expresión regular, en particular, los grupos de expresiones regulares. Y para hacerlo de forma interactiva e incremental.
En la línea de la respuesta de @immerr, la búsqueda de Icicles ha tenido un resaltado similar durante mucho tiempo.
fuente
También puede usar helm-regexp que muestra grupos de expresiones regulares por separado.
fuente
No dentro de emacs, pero http://rubular.com/ es básicamente
regexp-buildercon una hoja de trucos. Puede configurar un ejemplo y hacer que escupe un enlace a ese ejemplo. Lo uso cuando hablo de expresiones regulares con un equipo.fuente
Como alternativa a Dave F,
regexp-buildertambién puede crear texto arbitrario para practicar la coincidencia de patrones.La característica más útil de este comando es que resaltará las coincidencias en el búfer a medida que se crea el patrón para ayudarlo a garantizar que el patrón coincida correctamente.
Usar
(query-replace-regexp)( C-M-%) y crear una expresión regular para realizar el reemplazo que desea le ayudará a practicar.fuente
regexp-builderaún no ofrece? El problemaquery-replace-regexpes que necesita escribir una expresión regular completa y luego comprometerse a averiguar qué coincide. Si no le gusta el resultado, debe comenzar de nuevo.regexp-buildermuestra coincidencias sobre la marcha, lo que facilita ajustar tu expresión regular hasta que funcione si no sabes lo que estás haciendo.query-replace-regexp, te acostumbrarás a usarlo específicamente en Emacs