RegEx XVIII: Cuantificadores — Controla su avidez con ?
Los cuantificadores indican cuántos caracteres o expresiones deben coincidir. De forma predeterminada, los cuantificadores como * y + son «codiciosos»: intentan abarcar la mayor parte posible de la cadena. El carácter ? después de un cuantificador lo vuelve «no codicioso»: se detiene en cuanto encuentra una coincidencia.
"some <foo> <bar> new </bar> </foo> thing" usando el patrón codicioso `<.*>` ➞ "<foo> <bar> new </bar> </foo>"
"some <foo> <bar> new </bar> </foo> thing" usando el patrón perezoso `<.*?>` ➞ "<foo>"Asigna a REGEXP un patrón que encuentre todos los comentarios HTML del texto. Usa un cuantificador perezoso (? después de un cuantificador) en tu expresión.
String text = "... <!-- My -- comment test --> .. <!----> .. ";
Program.comments(text); // ➞ new String[] { "<!-- My -- comment test -->", "<!---->" }Notas
Reemplaza el patrón provisional en REGEXP. Los métodos proporcionados ya encuentran las coincidencias y comprueban que se use un cuantificador perezoso; no necesitas reescribirlos.
Consulta los Recursos si necesitas ayuda.
Ejemplo en Java
assertTrue(Program.usesLazyQuantifier());