Регулярное выражение для IP-адресов

Я сейчас изучаю регулярное выражение обнаружит ли это какой-либо IP-адрес?

(((([0-9]|[1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9]|25[0-5])){1,3})(\.){0,1}){4}

Мой предыдущий был этот

(([0-9]|[1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9]|25[0-5]))\.(([0-9]|[1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9]|25[0-5]))\.(([0-9]|[1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9]|25[0-5]))\.(([0-9]|[1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9]|25[0-5]))
0
задан 21 October 2019 в 21:17

1 ответ

(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\.){3}25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d

Этот шаблон не включает границы слов или привязки начала / конца строки, поэтому в зависимости от контекста использования вам может потребоваться обернуть шаблон в них.

Структура шаблона:

(?:         #start non-capturing group
  25[0-5]   #match 250 through 255
  |         #or
  2[0-4]\d  #match 200 through 249
  |         #or
  1\d\d     #match 100 through 199
  |         #or
  [1-9]?\d  #match 0 through 99
  \.        #match a literal dot
){3}        #end of non-capturing group and require three repetitions of the same pattern
25[0-5]   #match 250 through 255
|         #or
2[0-4]\d  #match 200 through 249
|         #or
1\d\d     #match 100 through 199
|         #or
[1-9]?\d  #match 0 through 99
1
ответ дан 19 April 2020 в 13:08

Другие вопросы по тегам:

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