Какое регулярное выражение будет соответствовать следующим 6-значным числам?

Числа должны быть шестизначными и иметь форму 0x0x0x или x0x0x0, где x может быть любой цифрой от 1 до 9. Бывший - 202020, 030303, 808080 и др.

У меня есть это регулярное выражение, которое сопоставляет числа с альтернативными 0 и 1, не может заставить его работать для вышеуказанного варианта использования

\b(?!\d*(\d)\1)[10]+\b
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
43
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вероятно, самый простой способ — запечатлеть повторяющуюся часть.
Затем проверьте, повторяется ли обратная ссылка на группу 1.

\b(0[1-9]|[1-9]0)\1{2}\b

\d также содержит 0, так что это неправильно, должно быть [1-9]

Ofer Skulsky 12.05.2022 22:05

Действительно, исправил

LukStorms 12.05.2022 22:05

Если вы не возражаете против повторения обеих «форм», чередование, вероятно, является самым простым решением:

\b(?:([1-9])0\10\10|0([1-9])0\20\2)\b

https://regex101.com/r/R7fAbh/1

Другие вопросы по теме