3
我有一个基本的IP正则表达式,检查IP是在0.0.0.0到255.255.255.255。当我进入为什么从{3}更改为{4}不适用于此正则表达式?
grep -E "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}" file.txt
它一共有12个IP地址(这是正确的我的文本文件),但只突出了前3个字节,当我需要它来突出第四个八位也很相配。但改变它“{4}”显示没有匹配。
grep -E "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){4}" file.txt
我快速的问题是为什么不突出整整4个字节为使用{4}
匹配?
不幸的是,当我实现“” \?“”它开始接受错误的IP地址,如“1334.0.1.234”和它甚至不突出显示整个IP地址,它切断在''1334.0。'' –
是的,这就是为什么我建议更精确的模式。如果您需要确保它匹配整个单词,请使用单词边界。 –
我也尝试过第二种模式,因为它是一个我理解的概念,并且它保持了相同的结果[https://imgur.com/a/V4qsC] –