python中正则表达式ip匹配
时间: 2023-10-08 08:13:02 浏览: 64
可以使用正则表达式匹配IP地址,例如:
```python
import re
# 匹配IP地址的正则表达式
ip_pattern = r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$'
# 测试用例
ip_list = ['192.168.0.1', '10.0.0.1', '172.16.0.1', '127.0.0.1', '255.255.255.255', '1.1.1.1.1', '256.0.0.1', '192.168.0']
# 循环遍历IP地址列表,进行匹配
for ip in ip_list:
if re.match(ip_pattern, ip):
print(f'{ip} 是一个合法的IP地址')
else:
print(f'{ip} 不是一个合法的IP地址')
```
输出结果:
```
192.168.0.1 是一个合法的IP地址
10.0.0.1 是一个合法的IP地址
172.16.0.1 是一个合法的IP地址
127.0.0.1 是一个合法的IP地址
255.255.255.255 是一个合法的IP地址
1.1.1.1.1 不是一个合法的IP地址
256.0.0.1 不是一个合法的IP地址
192.168.0 不是一个合法的IP地址
```
相关问题
正则表达式匹配IP地址
以下是Python中正则表达式匹配IP地址的例子:
```python
import re
# 定义IP地址的正则表达式
ip_pattern = r'^((2((5[0-5])|([0-4]\d)))|([0-1]?\d{1,2}))(\.((2((5[-5])|([0-4]\d)))|([0-1]?\d{1,2}))){3}$'
# 测试用例
ip_list = ['192.168.1.1', '10.0.0.1', '172.16.0.1', '256.256.256.256', '1.1.1.01']
# 匹配IP地址
for ip in ip_list:
if re.match(ip_pattern, ip):
print(ip, 'is a valid IP address')
else:
print(ip, 'is not a valid IP address')
```
输出结果为:
```
192.168.1.1 is a valid IP address
10.0.0.1 is a valid IP address
172.16.0.1 is a valid IP address
256.256.256.256 is not a valid IP address
1.1.1.01 is not a valid IP address
```
该例子中,我们首先定义了IP地址的正则表达式,然后通过re模块的match函数对IP地址进行匹配,判断其是否为合法的IP地址。如果是合法的IP地址,则输出“is a valid IP address”,否则输出“is not a valid IP address”。
阅读全文