2010-01-12 15 views

Respuesta

10

Boost.Regex tiene una bandera mod_s para hacer los saltos de línea de puntos de concordancia, pero no es parte del estándar de expresiones regulares TR1. (y no disponible como una extensión de Microsoft tampoco, hasta donde puedo ver)

Como solución alternativa, puede usar [\s\S] (lo que significa que coincide con cualquier espacio en blanco o cualquier espacio no en blanco).

5

Un truco que las personas usan es una clase de caracteres que contiene cualquier cosa que no sea el carácter nulo. El carácter nulo se expresa en hexadecimal. Se ve algo como esto:

[^\x00]+ 
7

Como aparecen expresiones regulares C++ que se basa en expresiones regulares de ECMAScript, el answer to the recent question de lo mismo en JavaScript puede ayudarle.

[^] debería funcionar, pero si quieres algo un poco más claro y menos hackish, puedes probar (.|\n).

1

Puede cambiar a un sabor no ECMA de expresión regular (hay una serie de indicadores para controlar el sabor regext). Cualquier regex POSIX debería, si no recuerdo mal, coincidir con una nueva línea al ..

Cuestiones relacionadas