gpt4 book ai didi

regex - 如何使正则表达式仅搜索 ipv4 地址?

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:34 24 4
gpt4 key购买 nike

如何使正则表达式仅搜索 ipv4 地址。当我做的时候

grep -E '([0-9]\.){1,3}[0-9]\b filename

它还显示具有五个八位位组的组。

最佳答案

我怀疑是否可以使用 POSIX 正则表达式来完成,因此我宁愿建议 PCRE 解决方案:

grep -P '(?<!\d\.|\d)\d{1,3}(?:\.\d{1,3}){3}(?!\.?\d)' filename

模式匹配

  • (?<!\d\.|\d) - 前面没有紧接着数字和点或只是数字的位置
  • \d{1,3} - 1 到 3 位数字
  • (?:\.\d{1,3}){3} - 出现 3 次
    • \. - 一个点
    • \d{1,3} - 1 到 3 位数字
  • (?!\.?\d) - 后面不紧接着可选点和数字的位置。

为了使模式更加精确,请将八位字节模式 ( \d{1,3} ) 替换为 (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) .

关于regex - 如何使正则表达式仅搜索 ipv4 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com