Я сделал это регулярное выражение, чтобы проверить, является ли строка допустимым IP, включая проверку, находится ли каждый октет между 0-255 (точнее, он проверяет, находится ли он между 0-199 ИЛИ 200-249 OR 250 -255)Regex golf - Есть ли более короткий путь?
((1?\d?\d|2[0-4]\d|25[0-5])\.){3}(1?\d?\d|2[0-4]\d|25[0-5])
более простой способ смотреть на него есть:
(pattern\.){3}pattern
, который соответствует pattern.pattern.pattern.pattern
SUC ч, что картина представляет собой число от 0 до 255.
мне было интересно, если есть более короткий путь написания этого регулярного выражения, так что pattern
только должно быть написано один раз, а не ставя под угрозой точности регулярных выражений, как (pattern\.?){4}
делает ,
редактировать
выглядит следующим образом: ^pattern($|\.(?!$)){4}$
делает именно то, что я ищу.
Взято из: https://stackoverflow.com/a/28446132/4526483
ваше регулярное выражение принимает 00, но не 000. Почему? – njzk2
Я не думаю, что я видел, как кто-либо писал IP-адрес с многозначными нулями в любом из восьмиугольников – Knowbody
Не означает, что он недействителен. – miken32