【发布时间】:2020-12-05 11:04:01
【问题描述】:
我正在尝试编写一个正则表达式,用于从包含许多有效、无效(两种)地址类型的文件中选择有效的 IPv4 地址。 我已经为此编写了正则表达式,但仍然打印出两个无效的 IPv4 地址 - 255.255.256.255 和 8.234.88,55 谁能帮我理解为什么这两个用我放的正则表达式打印出来。
((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){1,3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
我正在使用此正则表达式通过包含以下列出的 IPv4 地址的文件过滤有效的 IPv4 地址。
12.12.12.12
127.0.0.0
255.255.256.255
344.19.0.1.
12.255.12.255
138.168.5.193
256.123.256.123
195.45.13.0
8.234.88.55
1334.0.1.234
196.83.83.191
133.133.133.133
8.234.88,55
203.26.27.38
88.173.71.66
136.186.20.9
241.92.88.103
我想知道为什么这个正则表达式匹配 255.255.256.255 和 8.234.88,55 IPv4 地址。
【问题讨论】:
-
请勿发布链接或截图。相反,请发布minimal reproducible example。
-
Please don't post images of text。这里的人认为这是邪恶的。
-
我已按照建议进行了更改。谢谢
-
why this regex expression is matching with 255.255.256.255 and 8.234.88,55 IPv4 addresses它没有。您检查正则表达式是否匹配的方法有缺陷。 -
搜索
regex for IPV4 addresses时还有200多个其他Q/A。这就是维护一个包含常见问题及其答案的数据库的目的 ;-) ... 但是,很高兴您在下面得到了一些好的反馈。祝你好运。