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
Merci, heureux ça aide! :) – zx81