从文本中提取IP地址

PHP Medium regex

任务 «从文本中提取IP地址»

编写一个PHP程序,从标准输入读取字符串,并从中提取所有有效的IPv4地址。IP地址由四个0到255之间的数字组成,以点号分隔。不允许前导零,除非数字本身为0。地址周围可能包含空格或标点符号。按地址在文本中出现的顺序,每行输出一个找到的地址。如果未找到地址,则输出一个空行。

输入格式

多行文本,每行长度不超过1000个字符。总行数不超过100行。

输出格式

按出现顺序每行输出一个找到的IPv4地址。如果没有地址,则输出一个空行。

示例

示例 1

输入
Connect to 172.16.0.1 and 192.168.0.255
输出
172.16.0.1 192.168.0.255

示例 2

输入
Invalid addresses: 256.1.2.3, 1.2.3.4.5, 0.0.0.0
输出
0.0.0.0

示例 3

输入
Invalid: 999.1.2.3 but valid: 1.2.3.4
输出
1.2.3.4

示例 4

输入
No addresses here!
输出
main.php