1

我有一个 ^[a-zA-Z0-9.*?]+$支持 IP 地址的正则表达式,例如31.202.216.280如何修改给定的正则表达式,使我可以支持具有这样 IP 地址的子网31.202.216.280/38

4

4 回答 4

0

请注意,如果您[0-9]为 Blocks 设置,您可以键入一个 IPAddress999作为数字。

如果你想“限制”到0-255 个数字,你需要明确地这样做:

^
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/
([1-3][0-2]$|[0-2][0-9]$|0?[0-9]$)

可以使用以下方式写入地址: (0-255).(0-255).(0-255).(0-255)/(0-32)

于 2021-12-13T11:18:33.747 回答
0

查看这些 Perl 模块提供的预制正则表达式。

正则表达式::Common::net

正则表达式::Common::net::CIDR

您可以在命令行或 Perl 脚本中使用它们。您也可以只复制正则表达式并以另一种语言使用它们。

于 2021-11-17T07:07:30.360 回答
0

使用这样的 IP 正则表达式,您可能会发现很多误报。至少尝试删除a-ZA-Z. SO上已经有很好的正则表达式来匹配IP。

如果您想匹配您的子网/[0-9]{1,3},请在字符串结尾 ( $) 之前添加。根据您的编程语言,您可能需要转义斜线:\/.

于 2021-11-17T07:07:49.617 回答
0

如果使用正则表达式子网

^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]{1,3}$

如果没有子网你可以试试

^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

通过 josuamarcelc

于 2021-11-17T11:06:10.810 回答