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] –