Получение исключения синтаксической ошибки для «expr»

Следующее регулярное выражение выполняет то, что вам нужно:

\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[\-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[\-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\b

$ cat test.txt
127.0.0.10
127-0-0-10
127_0_0_10
256_5_10_1
10-10-100-1
192.168.100.1
$ grep -E '\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\b' test.txt
127.0.0.10
127-0-0-10
127_0_0_10
10-10-100-1
192.168.100.1

См.https://www.regular-expressions.info/ip.htmlдля объяснения регулярного выражения. Я просто изменил \.на [-._], чтобы они соответствовали -, .или _.

0
10.03.2021, 15:31
0 ответов

Теги

Похожие вопросы