What\'s the difference between String.matches and Matcher.matches? Is there any difference in terms of performance or other things?
Absolutely. A Matcher is created on on a precompiled regexp, while String.matches must recompile the regexp every time it executes, so it becomes more wasteful the more often you run that line of code.
Matcher
String.matches