#460. 判断合法的 IPv4 地址

判断合法的 IPv4 地址

题目描述

IPv4 地址通常写成 44 个十进制整数,每个整数的取值范围是 02550\sim 255,相邻两个整数之间用一个英文句点 . 分隔,例如 192.168.0.1

现在给定一个字符串 ss,请你判断它是否是一个合法的 IPv4 地址。一个合法的 IPv4 地址必须满足:

  1. 恰好由 44 段组成,段与段之间用 . 分隔;
  2. 每一段都由十进制数字组成,长度在 131\sim 3 之间;
  3. 每一段的数值在 02550\sim 255 之间;
  4. 除单独一个 0 之外,每一段不允许有前导零(即 0 合法,0100001 都不合法)。

输入格式

输入仅一行,为一个长度不超过 100100 的字符串 ss,字符串中不包含空格等空白字符。

输出格式

ss 是合法的 IPv4 地址,输出一行字符串 True,否则输出一行字符串 False

样例

样例 1

输入:

192.168.0.1

输出:

True

样例 2

输入:

256.1.1.1

输出:

False

样例 3

输入:

01.2.3.4

输出:

False

说明/提示

  • 对于 100%100\% 的数据,1s1001 \le |s| \le 100ss 仅由可见 ASCII 字符(不含空白字符)组成。
  • 注意:段的个数、前导零、非法字符、数值越界这几种情况都要分别判断。