YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору los Цитата: а, да, косяк в шаблоне... надо так: Код: \b((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)\b(\/(\d|[1-2]\d|3[0-2])\b)?(?!\/) | Цитата: подхватывает первые 4 для 1.1.1.1.1 | а вот тут... с точки зрения валидности, это вполне себе IP... В данном случае требуется четкое определение: чем должен заканчиваться валидный IP(/CIDR), либо наоборот, чем НЕ должен заканчиваться и в соответствии с этим уже скорректировать lookbehind часть шаблона, т.е. вот это: Код: и если это не javascript, а PCRE, то и lookahead тоже придется задействовать, т.е. обязательно учитывать то, с чего должен начинаться или НЕ должен начинаться валидный IP... Для частного случая, примерно так: Код: (?<!\.)\b((25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(25[0-5]|2[0-4]\d|1?\d\d?)\b(\/(\d|[1-2]\d|3[0-2])\b)?(?!\/|\.) | Добавлено: А для ускорения процесса работы регэкспа, в случае с PCRE, я бы вообще сделал так: Код: (?<!\.)\b(?:(?>25[0-5]|2[0-4]\d|1?\d\d?)\.){3}(?>25[0-5]|2[0-4]\d|1?\d\d?)\b(\/(?>3[0-2]|[1-2]\d|\d)\b)?(?!\/|\.) |
| Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 15:05 16-12-2018 | Исправлено: YuS_2, 15:17 16-12-2018 |
|