¿Lo tiene? En caso afirmativo, ¿dónde puedo obtener la documentación? Si no es así, ¿cuál sería la mejor alternativa?¿Tiene C o C++ una biblioteca de expresiones regulares estándar?
Respuesta
C++ 11 ahora finalmente tiene un standard regex library - std :: regex.
Si no tiene acceso a una implementación de C++ 11, una buena alternativa podría ser boost regex. No es completamente equivalente a std :: regex (por ejemplo, the "empty()" method is not in the std::regex) pero es una implementación de expresiones regulares muy madura para C++.
Esta respuesta está fechada, a partir de 2012 la respuesta es ahora Sí, C++ tiene una biblioteca de expresiones regulares estándar, ordenado por C++ 11, bajo el encabezado "regex" –
@Clairvoire - He decidido editar/actualizar mi respuesta a los cambios desde finales de 2009, gracias por el aviso de esta respuesta desactualizada. –
La diferencia también es que el estándar de C++ no admite subgrupos con nombre, es decir, nombrar partes de expresiones regulares para que luego pueda obtenerlas por su nombre. – user3111311
Compruebe la biblioteca boost regex. Debería convertirse en parte del estándar con C++ 0x.
En sistemas de tipo UNIX, puede usar POSIX regex functions.
Si por estándar te refieres a paquete con compilador, entonces no. Pero la mayoría de los otros lenguajes que combinan la extensión de expresiones regulares usan implementaciones bastante estándar c
. P.ej. PCRE - Perl Compatible Regular Expression y las bibliotecas C tienen soporte de expresiones regulares POSIX (ver man page).
El paquete de características 1 de Microsoft Visual C++ 2008 (ahora incluido en el paquete de servicio 1 de Visual Studio 2008) contiene una implementación de los tipos de registro 'oficial' TR1. Knock out :-)
+1 para PCRE - Perl Compatible Regular Expression, recuerdo haber usado Mircosoft's GRETA también.
Las expresiones regulares forman parte de la extensión C++ TR1. Dinkumware, Visual Studio y otros ya lo han implementado. Ver
Qt, de Trolltech, también tiene una aplicación de expresiones regulares que me parece muy fácil de usar. Sin embargo, si no está planeando utilizar Qt para nada más, usaría Boost.Regex ya que probablemente también sería bueno usar Boost para otros fines.
El lenguaje de programación ISO/IEC 14882: 2011 estándar C++ describe una clase de expresiones regulares como parte de la biblioteca de C++, que está muy influenciada por la biblioteca madura de Boost.
Curiosamente, a partir de enero de 2013, el cumplimiento de los compiladores con esta norma sigue siendo irregular, p. el popular compilador de C++ del conjunto de compiladores de GNU no admite/cumple esta parte del estándar.
Por esa razón, es mejor usar Boost en este momento hasta que el soporte del compilador alcance el cumplimiento.
- 1. ¿Objective-C tiene una biblioteca estándar?
- 2. Expresiones regulares en C++ STL
- 3. Expresiones regulares en C
- 4. C# de expresiones regulares excluyendo una cadena
- 5. Expresiones regulares C++ Qt
- 6. ¿Tiene C++ cola estándar?
- 7. C++: ¿qué biblioteca de expresiones regulares debería usar?
- 8. Biblioteca estándar Intel (C++)
- 9. Expresiones regulares en C: ejemplos?
- 10. Incluir biblioteca estándar de C++
- 11. Biblioteca estándar madura para C
- 12. necesario: biblioteca de expresiones regulares C/C++ de código abierto que hace unicode
- 13. Localización de C biblioteca estándar
- 14. Eliminar caracteres con expresiones regulares en C#
- 15. Partido hasta x expresiones regulares o y expresiones regulares
- 16. ¿es posible usar expresiones regulares en C++?
- 17. Combinando dos expresiones regulares C++ 0x
- 18. No coincide con C++ 11 expresiones regulares
- 19. Intérpretes escritos en C o C++ estándar
- 20. Expresiones regulares de Python O
- 21. Las expresiones regulares en C preprocesador macro
- 22. caracteres griegos, expresiones regulares y C#
- 23. C++ expresiones regulares con Boost Regex
- 24. C++ 0x expresiones regulares en GCC
- 25. Expresiones regulares en C# ejecutando lentamente
- 26. ¿Hay un subconjunto común/estándar de expresiones regulares?
- 27. C# Expresiones regulares, cadena entre comillas simples
- 28. C# expresiones regulares ayuda - validar la entrada
- 29. expresiones regulares en PHP: Coincidencia con el UTS18 estándar
- 30. Biblioteca de cadenas C
Casi duplicados: http://stackoverflow.com/questions/181624, http://stackoverflow.com/questions/923500 y http://stackoverflow.com/questions/815429. –
http://stackoverflow.com/questions/329517/there-is-a-function-to-use-pattern-matching-using-regular-expressions-in-c – dmckee
BTW: podría haber tenido una gran cantidad de información más rápido y más fácil mediante la búsqueda: http://stackoverflow.com/search?q=c+c%2B%2B+regex+standard – dmckee