Я пытаюсь сопоставить действительный IP-адрес с помощью регулярного выражения.У меня есть выражение, но проблема в том, что я не могу понять поведение grep.
для сопоставления чисел в диапазоне 0-255, которые я сделал: echo 15 |grep -E "[01]? [0-9] [0-9]? | 25 [0-5] | 2 [0-4] [0-9]"
Но это соответствует всемчисла!
, например, 3000 также совпадают - я думаю, это потому, что оно соответствует «30», который является частью всей строки 3000 ... тогда я попытался grep -E "([01]? [0-9] [0-9]? | 25 [0-5] | 2 [0-4] [0-9]) $ "
(попытка сопоставить 0-255 с последующим концом строки) ..Но это не похоже на работу.какие-либо предложения ??
Допустимо ли ставить скобки в отдельные части регулярного выражения?что-то вроде этого -> ((a | b) c) (l | m)