Имеется Регулярное выражение
Pattern pattern = Pattern.compile("^(7)+(701|702|775|778|705|777|771|776|707|747|700|708)+(\\d{7})$");
Matcher matcher = pattern.matcher(value);
т.е. по моему логике (вероятно я не правильно думаю)
первое вхождение 7 это первая цифра от начала строки, Далее необходимо найти 1 из списка заготовленных значений, и после 7 любых значений.
В данном случае значение: 77771234567 отработает правильно, но если добавить еще одну цифру, то в группу 1 попадет значение 7(2-й символ) и во второе 771
т.е. получается что 1-й символ опускается, может кто объяснить как это можно исправить