Да, Java предоставляет способ сделать это. Сначала вы должны вызвать один из стандартных методов для применения регулярных выражений, например matches()
или find()
. Если это возвращает false
, вы можете использовать метод hitEnd()
, чтобы выяснить, может ли соответствовать более длинная строка:
String[] inputs = { "AA", "BB" };
Pattern p = Pattern.compile("AAAAAB");
Matcher m = p.matcher("");
for (String s : inputs)
{
m.reset(s);
System.out.printf("%s -- full match: %B; partial match: %B%n",
s, m.matches(), m.hitEnd());
}
выход:
AA -- full match: FALSE; partial match: TRUE
BB -- full match: FALSE; partial match: FALSE