'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
Can someone break down how all the parts work? Especially what does |1[0-9]{2} do
'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
Can someone break down how all the parts work? Especially what does |1[0-9]{2} do
(IPv4) IP アドレスは、ドット付きクワッド、つまり 0 から 255 までの 4 つの数字です。
.
この正規表現が言っているのは、「文字で区切られた、0 から 255 までの 4 つの数字に一致する」ということです。
正規表現の|
文字は「または」として読み取ることができるため、各エントリは次のようになります。
(
[0-9] # a number between 0 and 9
|[1-9][0-9] # or, a number between 10 and 99
|1[0-9]{2} # or, a number between 100 and 199
|2[0-4][0-9] # or, a number between 200 and 249
|25[0-5] # or, a number between 250 and 255
)
\.) # followed by a dot
{3} # three times
([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]) # followed by the same match, not followed by a dot
0.0.0.0
したがって、これはとの間の255.255.255.255
すべて、つまり有効な IPv4 アドレスに一致します。
少し検索すると、正規表現を説明するオンライン ツールがあります: http://www.myregextester.com/index.php。上部に正規表現を入力し、EXPLAINボックスをオンにして、[送信] をクリックします。