有沒有人對我的IPv4正則表達式有任何建議。這並未完全驗證IPv4地址。bash中的IPv4正則表達式
IPV4="^(|[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})\|"
1.1.1.1是好的,但也999.1.1.1驗證:(
感謝輸入
* UPDATE *
基於DopeGhoti的輸入,這裏是哪裏im到目前爲止我遇到的問題添加到我的更大的正則表達式中我將這個正則表達式設置爲一個變量,然後將它與另一個表達式結合起來用於IPv6,還有一些我添加到正則表達式。例如a(|在此插入DopeGhoti正則表達式)。這允許我也接受一個空的IPv4地址。我還加了一個\ |最後,因爲這兩個地址被一個大正則表達式檢查是|分隔。
IPV4="^(|(?:(?: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]?)))\|"
REGEX="$IPV4$IPV6"
這個過程適用於我簡單的IPv4正則表達式。新正則表達式中的某些東西正在破壞它。
* UPDATE *
好奇怪的。我測試了rubular如下:
http://rubular.com/r/c6J3sESDyN
^(|(?:(?: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]?)))\|$
這似乎是工作。也許我有另一個內部問題。現在檢查。
250.1.1.1是一個有效的IP地址。 – DopeGhoti
對不起,輸入錯誤的例子。 – Atomiklan