Здравствуйте, задача написать регулярное выражение для выборки данных следующим образом: в результате должны остаться правильные IP-адреса (0-255.0-255.0-255.0-255), причем ни один из октетов не должен повторяться больше двух раз.
Найденная мной на просторах сети регулярка которая правильно выбирает IP, такова:
^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}
Насколько я могу судить здесь проверяется наличие октета в начале строки, и за ним наличие еще трех октетов вида .0-255 после. Единственная недоработка этого выражения в том что оно пропускает лишние нули вида 10.207.010.012.
Надо чтобы искомое выражение в первую очередь НЕ пропускало адреса вида:
255.255.255.255
255.255.255.254
так как в них есть больше двух совпадающих октетов. И может быть не пропускало адреса с лишними нулями в начале октета (ну в принципе это я и сам сделать могу, правда выражение увеличится раза в полтора).
Пожалуйста напишите правильное выражение или подскажите где почитать и разобрать сложные примеры регулярок, всё что дает гугл относительно проще.
К сожалению выбрать отдельные октеты из адреса а затем замапить их и отсеять по признаку "больше 2 вхождений" нельзя. Нужно именно регулярное выражение которое сделает всю работу.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники