0から255までの番号には、次の正規表現を使用します。
(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))
上記の正規表現は0から255までの整数に一致しますが、256には一致しません。
したがって、IPv4の場合、私はこの正規表現を使用します。
^(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})$
これは次の構造にあります。^(N)((\.(N)){3})$
ここで、Nは0から255までの数値を照合するために使用される
正規表現です。この正規表現は次のようにIPと照合されます。
0.0.0.0
192.168.1.2
ただし、以下のものではありません。
10.1.0.256
1.2.3.
127.0.1-2.3
IPv4 CIDR(クラスレスドメイン間ルーティング)の場合、次の正規表現を使用します。
^(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})\/(([0-9])|([12][0-9])|(3[0-2]))$
これは次の構造にあります。^(N)((\.(N)){3})\/M$
ここで、Nは0から255までの数値を照合するために使用される正規表現であり、Mは0から32までの数値を照合するために使用される
正規表現です。この正規表現は次のようにCIDRと一致します。
0.0.0.0/0
192.168.1.2/32
ただし、以下のものではありません。
10.1.0.256/16
1.2.3./24
127.0.0.1/33
そして、"10.0.0.0/16", "192.168.1.1/32"
私がこの正規表現を使用するようなIPv4CIDRのリストについては:
^("(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})\/(([0-9])|([12][0-9])|(3[0-2]))")((,([ ]*)("(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})\/(([0-9])|([12][0-9])|(3[0-2]))"))*)$
これは次の構造にあります。^(“C”)((,([ ]*)(“C”))*)$
ここで、CはCIDRの一致に使用される正規表現です(0.0.0.0/0など)。
この正規表現は、以下のようにCIDRのリストと一致します。
“10.0.0.0/16”,”192.168.1.2/32”, “1.2.3.4/32”
ただし、以下のものではありません。
“10.0.0.0/16” 192.168.1.2/32 “1.2.3.4/32”
短くなるかもしれませんが、私にとってはとてもわかりやすいです。
それが役に立てば幸い!
ping 2130706433
とping 127.1
クスクスのため。