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

AWK环境下匹配合法IPv4 CIDR格式的正则表达式需求

匹配合法IPv4 CIDR的AWK正则方案

要准确匹配合法的IPv4 CIDR并排除带多余后缀的无效内容,需要结合IPv4地址合法性校验和行首尾锚定实现,以下是适配AWK的正则表达式及完整命令:

完整AWK命令

awk '$0 ~ /^((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|[1-2][0-9]|3[0-2])$/ {print $0}' somefile.txt

正则规则拆解

  • ^ 和 $:锚定整行的开头和结尾,确保行内只有合法CIDR地址,直接排除160.0.0.0/24aaa57这类带多余后缀的内容
  • IPv4地址段校验:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
    • 25[0-5]:匹配250-255的合法数值
    • 2[0-4][0-9]:匹配200-249的合法数值
    • [01]?[0-9][0-9]?:匹配0-199的合法数值(包含单数字、双数字及0)
  • ((...)\.){3}:重复三次“合法数字+点”的组合,对应IPv4的前三个段
  • \/:匹配CIDR的斜杠分隔符(AWK中正则的斜杠需转义)
  • 前缀长度校验:(0|[1-2][0-9]|3[0-2])
    • 精准匹配0-32的合法CIDR前缀长度,避免出现/33或/abc这类无效值

对比原代码的改进点

原代码仅匹配了“数字段+斜杠”的格式,既没有校验IPv4地址的合法性(比如允许256.0.0.0这类无效地址),也没有锚定行尾,导致会匹配带多余后缀的无效内容。上述正则则解决了这两个核心问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:43:12