实现对用户输入的IP地址正确性的判断,只能是4段,每段不能大于255
时间: 2024-05-14 15:14:28 浏览: 7
可以使用正则表达式来判断用户输入的IP地址是否合法:
```python
import re
def is_valid_ip(ip):
pattern = r'^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$'
if re.match(pattern, ip):
return True
else:
return False
```
该函数使用了正则表达式,其中:
- `^` 表示匹配字符串开头
- `(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)` 表示匹配 0-255 的数字,可以分解为以下五个部分:
- `25[0-5]` 表示匹配 250-255
- `2[0-4]\d` 表示匹配 200-249
- `1\d{2}` 表示匹配 100-199
- `[1-9]\d` 表示匹配 10-99
- `\d` 表示匹配 0-9
- `\.` 表示匹配点号
- `{3}` 表示匹配前面的表达式三次
- `$` 表示匹配字符串结尾
这个正则表达式可以匹配符合要求的IP地址,例如:
```python
is_valid_ip('192.168.0.1') # True
is_valid_ip('255.255.255.0') # True
is_valid_ip('127.0.0.1') # True
```
如果输入的IP地址不符合要求,则返回False,例如:
```python
is_valid_ip('192.168.0.256') # False
is_valid_ip('192.168.00.1') # False
is_valid_ip('192.168.0') # False
is_valid_ip('192.168.0.1.1') # False
```