2014-06-30 2 views

Répondre

6

Cela dépend si vous utilisez matches() ou Matcher.find()

  • [^\d].* matchs un caractère qui est pas un chiffre, alors quoi que ce soit jusqu'à la fin de la ligne: par exemple, abc. L'ancre ^ affirme que nous sommes au début de la chaîne. Par conséquent, ^[^\d].* correspond, à partir du début de la ligne, un caractère qui n'est pas un chiffre, puis tout ce qui se trouve jusqu'à la fin de la ligne. Il correspondrait à la ligne abc, mais il ne correspondrait pas à abc sur cette ligne: 1 abc
  • En Java, en utilisant la méthode matches(), il n'y aura pas de différence que matches() matchs si le motif correspond à la chaîne entière (il ne cherche pas correspondances de sous-chaîne potentielles). L'utilisation matches() est le même que l'aide d'un regex pleinement ancré avec ^ et $
  • Si vous utilisez Matcher.find(), vous remarquerez la différence ci-dessus, il recherche des correspondances partout dans la chaîne sujet.

Référence

+0

Merci, heureux ça aide! :) – zx81

Questions connexes