python ipv4正则匹配
时间: 2023-09-24 20:05:54 浏览: 88
python正则匹配
以下是一个Python正则表达式示例,用于匹配IPv4地址:
```python
import re
# 匹配IPv4地址
ipv4_pattern = re.compile(r'^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$')
# 测试IPv4地址
ipv4_addresses = ['192.168.0.1', '255.255.255.0', '10.0.0.1', '172.16.0.1', '300.0.0.1', '192.168.0.256']
for address in ipv4_addresses:
if ipv4_pattern.match(address):
print(f"{address} 是一个有效的IPv4地址")
else:
print(f"{address} 不是一个有效的IPv4地址")
```
输出:
```
192.168.0.1 是一个有效的IPv4地址
255.255.255.0 是一个有效的IPv4地址
10.0.0.1 是一个有效的IPv4地址
172.16.0.1 是一个有效的IPv4地址
300.0.0.1 不是一个有效的IPv4地址
192.168.0.256 不是一个有效的IPv4地址
```
正则表达式解释:
- `^`: 匹配字符串的开头
- `(25[0-5]|2[0-4]\d|[01]?\d\d?)`: 匹配0到255之间的数字,可以是1到3位数字,例如 0、12、123、255,其中:
- `25[0-5]` 匹配 250-255 之间的数字
- `2[0-4]\d` 匹配 200-249 之间的数字
- `[01]?\d\d?` 匹配 0-199 之间的数字,可以是一位数字、两位数字或者三位数字
- `(\.){3}`: 匹配三个连续的点号
- `(25[0-5]|2[0-4]\d|[01]?\d\d?)`: 同上,匹配第四段数字
- `$`: 匹配字符串的结尾
阅读全文