gpt4 book ai didi

python - 从从文本文件中提取 IP 的正则表达式中排除 IP

转载 作者:太空宇宙 更新时间:2023-11-03 15:14:22 24 4
gpt4 key购买 nike

我之前发布了一个与此相关的问题,但忘记了另一个案例。这是我的第一个问题:

Regex to include and exclude certain IPs

额外的情况是路由表中的这一行:

D*EX 0.0.0.0/0 [170/19664] via 10.10.10.1, 5d22h, Vlan10
[170/19664] via 10.10.10.1, 5d22h, Vlan20

如何编辑我的正则表达式以从下面的正则表达式中排除 0.0.0.0/0 IP:

(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\/(?:[\d]{1,3})\b(?! is variably)

我尝试了这些,但没有成功:

(?! 0.0.0.0/0)(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\/(?:[\d]{1,3})\b(?! is variably)
AND
(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\/(?:[\d]{1,3})\b(?! is variably)(?! 0.0.0.0/0)

谢谢

达蒙

最佳答案

正如 @Greg Hewgill 评论的那样,我认为你可以使用 if 语句。

if ('0.0.0.0/0' not in text) and ('is variably' not in text):
match = re.findall(r'(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\/(?:[\d]{1,3})\b', text)

如果你真的想使用正则表达式来解决它,就是这样。 https://regex101.com/r/jTu8cj/2

(?!0\.0\.0\.0/0)(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\/(?:[\d]{1,3})\b(?!是可变的)

# Positive
D 10.50.80.0/24 [90/3072] via 10.10.10.1, 3w6d, Vlan10
C 10.10.140.0/24 is directly connected, Vlan240
10.10.140.0/2
10.10.140.0/16
2.2.2.2/24
5.5.5.5.5/24

# Negative
10.0.0.0
10.10.60.0/16 is variably subnetted, 58 subnets, 4 masks
0.0.0.0/0 [170/19664] via 10.10.10.1, 5d22h, Vlan10

关于python - 从从文本文件中提取 IP 的正则表达式中排除 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43990494/

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