¿Qué carácter comodín en xpressive significa el final completo del texto?

Con ANSI C PCRE pude extraer secciones y su contenido por medio de:

(?ms)^\\[(.+?)\\](.*?)(?=\\n\\[|.\\z)

Desde [sec1] a = b [sec2] c = d tengo [sec1] a = b y [sec2] c = d

Pero, ¿cómo puedo hacerlo en xpressive?

preguntado el 30 de junio de 12 a las 18:06

1 Respuestas

Si usa el dialecto "dinámico", puede usar exactamente la misma sintaxis que para PCRE. Por ejemplo (no probado):

using namespace boost::xpressive;
sregex rx = sregex::compile("(?ms)^\\[(.+?)\\](.*?)(?=\\n\\[|.\\z");

Si está utilizando el dialecto "estático" de xpressive, el patrón comodín es _ (en el espacio de nombres boost::xpressive. Coincide con cualquier personaje. Si desea hacer coincidir cualquier carácter excepto un carácter de nueva línea, puede usar ~_n. Finalmente, si desea hacer coincidir cualquier carácter individual excepto una nueva línea lógica (\r, \n, \r\ny variantes Unicode), puede utilizar ~_ln.

(Editar: error tipográfico corregido)

Respondido 02 Jul 12, 00:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.