Estoy empezando a aprender expresiones regulares y quiero saber: ¿En qué casos es mejor usarlas?¿En qué casos es mejor usar expresiones regulares?
Respuesta
Las expresiones regulares son una forma de coincidencia de patrones que puede aplicar en contenido de texto. Tomemos por ejemplo los comodines de DOS? y * que puede usar cuando busca un archivo . Ese es un tipo de subconjunto muy limitado de RegExp. Por ejemplo, si quiere encontrar todos los archivos que comienzan con "fn", seguidos de 1 a 4 caracteres aleatorios y que terminan con "ht.txt", no puede hacer eso con los comodines de DOS habituales. RegExp, por otro lado, podría manejar eso y patrones mucho más complicados.
Las expresiones regulares son, en definitiva, una manera de forma eficaz
- datos mango
- búsqueda y reemplazar cadenas
- y permiten que el manejo de cadenas.
menudo una expresión regular puede proporcionar por sí solo manejo de cadenas que otras funcionalidades tales como los métodos y propiedades de cadena incorporados sólo se puede hacer si se utilizan en una función complicada o bucle.
Cuando intenta encontrar/reemplazar/validar complicados patrones de cuerda.
Hay algunos casos en los que, si necesita un mejor rendimiento, debe evitar expresiones regulares a favor de escribir código. Un ejemplo de esto es analizar archivos CSV muy grandes.
Las expresiones regulares son un dsl (lenguaje específico del dominio) para analizar el texto. Al igual que xpath es un dsl para atravesar xml. Es esencialmente un mini lenguaje dentro de un lenguaje de propósito general. Puede lograr bastante en una cantidad muy pequeña de código porque está especializado para un propósito limitado. Un uso muy común para expresiones regulares es comprobar si una cadena es una dirección de correo electrónico, número de teléfono, ssn, etc. ...
Utilizo expresiones regulares al comparar cadenas (preg_match), reemplazando subcadenas (sed, preg_replace), reemplazando caracteres (sed, preg_replace), búsqueda de cadenas en archivos (grep), división de cadenas (preg_split) etc.
Es un lenguaje de expresión de patrón muy flexible y generalizado y es muy útil saberlo.
PERO! Es como dicen sobre el poker, es muy fácil de aprender, pero muy difícil de dominar.
Me encontré con un question que pensé que era perfecto para un RegEx, eche un vistazo y decida por usted mismo.
También hay casos en los que las expresiones regulares son >> NO < < adecuada (en general, siempre hay excepciones).
- análisis de HTML
- Análisis de XML
En los casos anteriores un analizador DOM es casi siempre una mejor opción. Las gramáticas son complejas y hay demasiados casos extremos, como etiquetas anidadas.
Además, asegúrese de tener en cuenta a los futuros programadores de mantenimiento (que pueden ser usted). Los comentarios y/o los nombres de método/constante/variable bien elegidos pueden marcar una gran diferencia, especialmente para los desarrolladores que no dominan las expresiones regulares.
Las expresiones regulares pueden ser especialmente útiles para validar el formato de entrada de texto libre. Por supuesto, no pueden validar la exactitud de los datos, solo su formato. Y debe tener en cuenta las variaciones regionales para ciertos tipos de valores (por ejemplo, números de teléfono o códigos postales). Pero para los casos en que la entrada válida se puede definir como un patrón de texto, las expresiones regulares hacen un trabajo rápido de la validación.
- 1. Peor análisis de casos para expresiones regulares
- 2. ¿es posible usar expresiones regulares en C++?
- 3. Para usar o no usar expresiones regulares?
- 4. ¿Qué significa [^] en expresiones regulares de Javascript?
- 5. ¿Por qué las expresiones regulares se llaman expresiones "regulares"?
- 6. Expresiones regulares en Puntuación
- 7. En expresiones regulares, ¿qué es un retroceso/referencia inversa?
- 8. ¿Cómo usar expresiones regulares en MySQL?
- 9. Clojure: ¿Cómo usar variables en expresiones regulares?
- 10. Expresiones regulares en J2ME
- 11. Expresiones regulares en C
- 12. ¿Qué son buenas expresiones regulares?
- 13. Expresiones regulares en OCaml
- 14. C++: ¿qué biblioteca de expresiones regulares debería usar?
- 15. ¿Qué es un límite de palabras en expresiones regulares?
- 16. Usar expresiones regulares para analizar HTML: ¿por qué no?
- 17. Expresiones de casos en Access
- 18. ¿Cuándo es mejor usar expresiones regulares sobre la división de cadenas básica/subcadena?
- 19. ¿Cuándo no debería usar expresiones regulares?
- 20. Usar expresiones regulares para comparar números
- 21. En expresiones regulares, ¿qué significa \ w *?
- 22. expresiones regulares en Javascript con jQuery Contiene expresiones regulares extensión
- 23. jQuery selector: contiene - Usar expresiones regulares
- 24. expresiones regulares (expresiones regulares), reemplace la segunda aparición en javascript
- 25. expresiones regulares en Vimscript
- 26. Expresiones regulares en findstr
- 27. Expresiones regulares en SQLalchemy consultas?
- 28. ¿Cómo usar las variables awk en expresiones regulares?
- 29. UTF expresiones regulares en Python
- 30. Expresiones regulares y GWT
+1 ¡Muy buena analogía! –