¿Por qué tienes que hacer tu expresión regular "muy mágica" para que no tengas que escapar de tus citas de captura? Y si configura su entorno como muy mágico, no es estándar y puede tener problemas de cumplimiento. Me pregunto por qué vim usa una sintaxis de expresiones regulares diferente a decir, perl?¿Por qué VIM tiene su propia sintaxis de expresiones regulares?
Respuesta
La mayoría de las características de vi (y por lo tanto de vim) fueron derivadas de ed. vi y ed ambos son anteriores a Perl por al menos una década o dos. Una mejor pregunta podría ser "¿por qué Perl no usa la misma sintaxis de expresiones regulares que vi?".
Por supuesto, también podría argumentarse que los tipos de expresiones regulares que uno desearía escribir dentro de un editor de texto para realizar tareas comunes probablemente sean bastante diferentes de las que podría desear escribir dentro de un lenguaje de programación.
Cierto, pero personalmente, IMO, ya hay demasiada fragmentación en el espacio mental del desarrollador. Los PCRE son prácticamente un "estándar de la industria". Una de las cosas que me encanta de VIM es cuántas opciones tiene. El uso de PCRE como motor de búsqueda/reemplazo debe permitirse al menos como un indicador ./configure – rossipedia
Es un producto de código abierto. Si esta es una característica importante para usted, ¿por qué no implementarla y enviarla como un parche? Tal vez haya otros que sientan lo mismo y se beneficien de esto. – Gian
@Bryan: la expresión regular de Vim tiene muchas funciones no disponibles en PCRE, todo comienza con '\%' o '\\ _'. –
Hay un complemento llamado eregex.vim que se traduce de PCRE a la sintaxis de Vim. ¡Se necesita over a thousand lines of vim to achieve that translation!
"¡Se necesitan más de mil líneas de vim para lograr esa traducción!"Para ser justos, (actualmente) 279 de esas líneas son comentarios. :-) Pero todavía 803 líneas (1082 en total) de código! Bastante carnoso. –
- 1. Vim expresiones regulares retrorreferencia
- 2. vim reemplazar expresiones regulares
- 3. ¿Por qué Direct3D no tiene su propia estructura de vértices?
- 4. resaltado de sintaxis para expresiones regulares en Vim
- 5. Invertir expresiones regulares en vim
- 6. ¿Por qué las expresiones regulares se llaman expresiones "regulares"?
- 7. Explicación de expresiones regulares para vim
- 8. ¿Tiene un ViewModel su propia lógica?
- 9. expresiones regulares vim con meta-caracteres
- 10. ¿Por qué Visual Studio utiliza una sintaxis de expresiones regulares tan extraña?
- 11. ¿Por qué Android tiene su propia forma de obtener la configuración regional actual?
- 12. ¿Qué son buenas expresiones regulares?
- 13. Cómo encontrar reemplazar utilizando grupos de expresiones regulares en vim
- 14. ¿Por qué hay tantos dialectos de expresiones regulares diferentes?
- 15. ¿Por qué cada proceso necesita su propia tabla de páginas?
- 16. Vim: ¿comandos para seleccionar visualmente una coincidencia de expresiones regulares?
- 17. Bbcode expresiones regulares
- 18. ¿Herramienta para convertir expresiones regulares entre diferentes sintaxis de lenguaje?
- 19. ¿Flask admite expresiones regulares en su enrutamiento de URL?
- 20. Sintaxis de expresiones regulares para "hacer coincidir nada"?
- 21. JavaScript y expresiones regulares: sintaxis literal vs. RegExp objeto
- 22. ¿Qué significa [^] en expresiones regulares de Javascript?
- 23. depuración de Perl expresiones regulares
- 24. ¿Por qué Arrays.asList() devuelve su propia implementación ArrayList?
- 25. ¿Tiene un subproceso de Java su propia identificación de proceso?
- 26. ¿Puedo activar el soporte de expresiones regulares extendidas en Vim?
- 27. ¿Guarda los patrones de expresiones regulares usados comúnmente en Vim?
- 28. ¿Cada proceso tiene su propia tabla de páginas?
- 29. Validación de expresiones regulares por correo electrónico
- 30. Usar expresiones regulares para analizar HTML: ¿por qué no?
Sí, y ¿por qué es que cuando escribo la palabra 'grande' solo se inserta 'g'? –
El modo de búsqueda y reemplazo de expresiones regulares de Visual Studio tampoco es estándar, a pesar de que tenían un motor de expresiones regulares estándar perfectamente bueno en .NET. Toma de eso lo que quieras. – Blindy
@Blindy: No es así de simple. Cuando se creó el sabor VS, el sabor de la expresión regular de .NET aún no existía. Podrían haber basado la sintaxis VS directamente en Perl como lo hacía el equipo .NET, pero eligieron mantener la continuidad con las herramientas MS anteriores. No defiendo esa elección, solo señalo que no estaba completamente cerebralmente muerto. ;) –