English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Estejava.util.regex.MatcherClasse representa um motor, realizando várias operações de correspondência. Esta classe não possui construtor, pode usarmatches()
Método criado pela classe java.util.regex.Pattern/Obter o objeto dessa classe.
Emreset()
Os métodos deste (matcher) removem todas as informações de estado e redefinem a sequência de caracteres para o valor padrão, adicionando a posição zero.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This<b>é</b>um<b>exemplo/b>HTML<b>script/b>onde<b>cada/b>palavra<b>alternativa/b>é<b>negrito/b></p>"; //Correspondência de expressão regular com o conteúdo da tag em negrito String regex = "<b>(\\S+)</b>"; //Criar um objeto de padrão Pattern pattern = Pattern.compile(regex); //Coincidência da string com o padrão compilado Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("Estado do matcher: ")+matcher.toMatchResult()); String result = matcher.group()1); } matcher = matcher.reset(); System.out.println("Estado do matcher após redefinição: ");+matcher.toMatchResult()); } }
Resultado de saída
Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>is</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>example</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>script</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>every</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>>palavra/b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>bold</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=] Estado do matcher após redefinição: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=]
Outra variante deste método aceita dados de string e os usa para redefinir o 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>é</b>um<b>exemplo/b>HTML<b>script/b>onde<b>cada/b>palavra<b>alternativa/b>é<b>negrito/b></p>"; //Correspondência de expressão regular com o conteúdo da tag em negrito String regex = "(\\S+); //Criar um objeto de padrão Pattern pattern = Pattern.compile(regex); //Coincidência da string com o padrão compilado Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("Estado do matcher: ")+matcher.toMatchResult()); String result = matcher.group()1); } matcher = matcher.reset("<b>this</b> é <b>new</b> string <b>after</b> reset"); while (matcher.find()) { System.out.println("Estado do matcher após redefinição: ");+matcher.toMatchResult()); } } }
Resultado de saída
Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>is</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>example</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>script</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>every</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>word</b>] Estado do matcher: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>bold</b>] Estado do matcher após redefinição: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>51 lastmatch=<b>this</b>] Estado do matcher após redefinição: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>51 lastmatch=<b>new</b>] Estado do matcher após redefinição: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>51 lastmatch=<b>after</b>]