#regex
#регулярное выражение
Вопрос:
Мне нужно регулярное выражение для проверки чисел на наличие повторяющихся цифр.
Все числа содержат 12 цифр, первые 6 цифр нам нужно пропустить, поэтому мне нужно найти числа, в которых повторяется каждая вторая цифра из 7.
Вот так 964632X5X7X3
X — повторяющиеся цифры
Результаты
502632959793 - TRUE
125632757773 - TRUE
475632353773 - FALSE
Я попробовал что-то подобное для каждой цифры от 0 до 9:
d{6}([9]d[9]d[9]d)$
Это не сработало.
Комментарии:
1. Я бы использовал :
^d{6}(d)d1d1d$
2. d{6}([9]d[9]d[9]d)$ Я попробовал что-то подобное для каждой цифры от 0 до 9, но это не сработало. Я новичок в регулярном выражении
Ответ №1:
Вы можете использовать
^d{6}(?=(d))(?:1d){3}$
Смотрите демонстрацию регулярных выражений. Вы даже можете реорганизовать это регулярное выражение позже, если вам нужно учесть любое количество повторений от x до y после первых шести цифр (просто замените {3}
на требуемый квантор {x}
, {x,}
или {x,y}
с требуемыми пороговыми значениями).
Подробности регулярного выражения
^
— начало строкиd{6}
— первые шесть цифр(?=(d))
— позитивный прогноз, который включает седьмую цифру в группу 1(?:1d){3}
— три вхождения цифры, записанной в группе 1, и любая отдельная цифра$
— конец строки