Preguntas etiquetadas con regular-expressions

es para patrones que especifican buscar o reemplazar cadenas. También conocidos como `regex` o` regexp`, los patrones describen cadenas para que coincidan al buscar o reemplazar. Emacs proporciona un amplio soporte para patrones `regex` en muchos comandos. Emacs también proporciona un generador de expresiones interactivas para dichos patrones.

2
Comprensión de emacs align-regexp
He leído la documentación de Emacs align-regexppero aún tengo dificultades para entender cómo funciona. De lo que estoy hablando es de su forma prefijada C-uM-xalign-regexp, no de la forma simple M-xalign-regexp. Aquí están mis preguntas: ¿El primer parámetro (la expresión regular) tiene que coincidir con la línea completa de la …

1
¿Por qué las expresiones regulares creadas con el generador de expresiones regulares usan una sintaxis diferente de las expresiones regulares interactivas?
Entonces, usando el generador de expresiones regulares (Mx re-builder), encontrar líneas que terminan en \ toma "\\ $", mientras que en la búsqueda y reemplazo por expresión regular, solo toma "\ $". Hubiera esperado que el generador de expresiones regulares construyera expresiones directamente utilizables, entonces, ¿qué explica esta diferencia?


6
Obtenga todas las coincidencias regexp en el búfer como una lista
En el sitio de Code Golf Stack Exchange hoy, encontré esta respuesta en Clojure a la pregunta "Obtener todos los enlaces en una página web". (->> (slurp "http://www.stroustrup.com") (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+")) Sin la macro elegante, es solo esto: (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com")) Esto devuelve la lista: ("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...) ¿Puedo …

3
Elisp regexps ^ y $ vs `y '
El manual describe los caracteres especiales regexp ^y $. Como en la mayoría de los dialectos de expresiones regulares que conozco, parecen coincidir con el inicio o el final de una cadena. Sin embargo, también he descubierto que hay `y 'personajes disponibles. Según la explicación que se encuentra aquí , …

1
¿Cómo creo una expresión regular dinámica con rx?
Quiero usar rxpara crear expresiones regulares con valores de tiempo de ejecución. Actualmente, estoy haciendo esto: (setq strings '("foo" "bar" "baz")) (eval `(rx symbol-start (or ,@strings) symbol-end)) Sin embargo, prefiero evitar usar eval. He encontrado rx-to-string, pero no está claro qué FORM debería escribir: ;; error: Unknown rx form `symbol-start …




7
¿Cómo puedo practicar la búsqueda y el reemplazo con expresiones regulares de manera interactiva en Emacs?
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 …


1
Soporte para regex mirar hacia atrás y hacia adelante?
Necesito realizar una regex query replace, de modo que fooen foo barcoincide, pero fooen foo bazno. Normalmente usaría regex mirar hacia adelante, por ejemplo foo(?=bar). Sin embargo, ¿parece que Emacs no puede hacer esto? Vim parece capaz , pero el modo malvado en los spacemacs no puede.


1
rendimiento `retrospectivo`
Tengo un código usando (looking-back … (line-beginning-position)). Doc cadena de looking-backestados que es mejor evitar esta función debido a la lentitud. Tengo curiosidad de que el siguiente enfoque sea más rápido? (save-excursion (goto-char (line-beginning-position)) (looking-at regexp stuff))

1
Modo malvado y expresiones regulares
En Vim, si quiero buscar todos los nombres de variables LX donde X es un número, simplemente puedo escribir /L\d. Sin embargo, esto no parece funcionar evil. ¿Existe otra sintaxis para las expresiones regulares en modo Evil, o tendré que recurrir a alguna funcionalidad de Emacs para buscar y reemplazar …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.