You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改现有正则表达式使其支持带子网的IP地址匹配

正则修改方案

你当前使用的^[a-zA-Z0-9.*?]+$本身匹配规则较为宽松,仅能粗略匹配含字母、数字、点等符号的字符串,并非严格的IP地址校验规则。如果仅需要在原有基础上最小改动以适配带子网后缀的格式,调整后的正则如下:
^[a-zA-Z0-9.*?]+(?:\/[0-9]{1,2})?$
修改后可同时匹配纯IP格式和带/子网前缀的IP格式

本次改动新增的逻辑说明:

  • (?:\/[0-9]{1,2})? 为可选非捕获组,专门匹配/加1-2位数字的子网掩码前缀,末尾的?表示该部分为可选内容,兼容原有纯IP格式的匹配需求。

如果需要更严谨的合法IPv4+子网前缀校验,避免匹配到不符合IP规范的内容(比如你示例中的31.202.216.280实际为非法IP,最后一段数值超过255),可以使用下方的严格校验正则:
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\/(?:[0-9]|[1-2][0-9]|3[0-2]))?$

该严格正则的校验规则:

  • 每段IP数值严格限制在0-255的合法范围内
  • 子网前缀严格限制在0-32的IPv4标准前缀范围内
  • 同时兼容纯IP、带子网两种格式的匹配

内容的提问来源于stack exchange,提问作者misbha afreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:54:02