Я сейчас изучаю регулярное выражение обнаружит ли это какой-либо 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]))
(?: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