python中正则表达式ip匹配
时间: 2023-10-08 07:13:03 浏览: 68
以下是一个示例代码,可以用来匹配IP地址:
```python
import re
ip_pattern = r'(\d{1,3}\.){3}\d{1,3}' # 定义 IP 地址正则表达式
ip_regex = re.compile(ip_pattern) # 编译正则表达式
# 测试用例
ip_list = [
'192.168.1.1',
'10.0.0.1',
'172.16.0.1',
'255.255.255.0',
'127.0.0.1',
'300.0.0.1', # 不符合规范的 IP 地址
'192.168.1.256', # 不符合规范的 IP 地址
'192.168.1.1.1' # 不符合规范的 IP 地址
]
for ip in ip_list:
if ip_regex.match(ip):
print(f'{ip} 是合法的 IP 地址')
else:
print(f'{ip} 不是合法的 IP 地址')
```
输出结果:
```
192.168.1.1 是合法的 IP 地址
10.0.0.1 是合法的 IP 地址
172.16.0.1 是合法的 IP 地址
255.255.255.0 是合法的 IP 地址
127.0.0.1 是合法的 IP 地址
300.0.0.1 不是合法的 IP 地址
192.168.1.256 不是合法的 IP 地址
192.168.1.1.1 不是合法的 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”。
阅读全文