Вы используете объект Pattern регулярных выражений для хранения и извлечения строки.Это не имеет никакого смысла.Шаблон не используется для хранения строк.Шаблон используется для поиска других строк.Это движок регулярных выражений.Позвольте мне привести пример использования Pattern.
У нас действительно есть 2 объекта при использовании регулярных выражений в Java.Pattern и Matcher.
Pattern = Регулярное выражение.
Matcher = Все совпадения, найденные при применении Pattern к строке.
Позвольте мне привести пример Patternи Matcher, мы будем искать четыре цифры, разделенные двоеточием, как и во времени, т.е. 12: 42
long timeL;
Pattern pattern = Pattern.compile(".*([1234567890]{2}:[1234567890]{2}).*");
Matcher matcher = pattern.matcher("Match me! 12:42 Match me!");
if (matcher.matches()) {
String timeStr = matcher.group(1);
System.out.println("Just the time: "+timeStr);
System.out.println("The entire String: "+matcher.group(0));
String[] timeParts = timeStr.split("[:]");
int hours = Integer.parseInt(timeParts[0]);
int minutes = Integer.parseInt(timeParts[1]);
timeL = (hours*60*60*1000) + (minutes*60*1000);
System.out.println(timeL);
}
После того, как мы применили Pattern к строке и получили Matcher,мы спрашиваем, есть ли у Matcher совпадение или нет.Вы заметите, что тогда мы запрашиваем группу 1, которая соответствует в параграфах в:. ([1234567890] {2}: [1234567890] {2}). группа 0 будет полным совпадениеми может привести к возвращению данной строки.
Итак, я надеюсь, вы понимаете, почему крайне странно использовать Pattern для хранения строки.