English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Estejava.util.regex.MatcherEsta clase representa un motor que realiza varias operaciones de coincidencia. Esta clase no tiene constructor, se puede usarmatches()
Métodos de la clase java.util.regex.Pattern/Obtener el objeto de esta clase.
Enreset()
Los métodos de esta clase (matcher) eliminan toda la información de estado y resetean la secuencia de caracteres a su valor predeterminado, colocando el cursor en cero.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This<b>es/b>un<b>ejemplo/b>HTML<b>script/b>donde<b>cada/b>palabra<b>alternativa/b>es<b>negrita/b></p>."; //Coincidencia de expresiones regulares con el contenido de las etiquetas en negrita String regex = "<b>(\\S+/b>"; //Creación de un objeto de patrón Pattern pattern = Pattern.compile(regex); //Coincidencia del patrón compilado en la cadena de caracteres Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("Estado del matcher: ")+matcher.toMatchResult()); String result = matcher.group()1); } matcher = matcher.reset(); System.out.println("Estado del matcher después de restablecerlo: "+matcher.toMatchResult()); } }
Resultado de salida
Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>is</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>example</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>script</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>every</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>>palabra/b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>bold</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=] Estado del matcher después de restablecerlo: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=]
Otra variante de este método acepta datos de cadena y los usa para resetear el Matcher.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This<b>es/b>un<b>ejemplo/b>HTML<b>script/b>donde<b>cada/b>palabra<b>alternativa/b>es<b>negrita/b></p>."; //Coincidencia de expresiones regulares con el contenido de las etiquetas en negrita String regex = "(\\S+); //Creación de un objeto de patrón Pattern pattern = Pattern.compile(regex); //Coincidencia del patrón compilado en la cadena de caracteres Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("Estado del matcher: ")+matcher.toMatchResult()); String result = matcher.group()1); } matcher = matcher.reset("<b>this</b> es <b>new</b> cadena <b>after</b> reset"); while (matcher.find()) { System.out.println("Estado del matcher después de restablecerlo: "+matcher.toMatchResult()); } } }
Resultado de salida
Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>is</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>example</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>script</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>every</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>word</b>] Estado del matcher: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>bold</b>] Estado del matcher después de restablecerlo: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,51 lastmatch=<b>this</b>] Estado del matcher después de restablecerlo: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,51 lastmatch=<b>new</b>] Estado del matcher después de restablecerlo: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,51 lastmatch=<b>after</b>]