正規表現·プライベートIPv4の範囲

プライベートIPv4の範囲

プライベートIPv4の範囲に一致します。前後が固定されているので文字列全体が合う必要があります。取り出すグループは2個です。

/^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3})$/
一致の範囲
文字列全体
取り出すグループ
2
最初の例で取れる部分
10.0.0.1

試してみる

好きな文を入れると、この式が取る部分に印が付きます。ブラウザの中だけで動き、どこにも送られません。

10.0.0.1

1か所に一致

合う例

  • 10.0.0.1
  • 192.168.1.1
  • 172.20.5.4

合わない例

  • 8.8.8.8
  • 172.15.0.1
  • 172.32.0.1

同じ組の別の式

読み方

  • 前後に ^ と $ があれば文字列全体が合う必要があります。なければ文中のどこでも構いません。入力検査に使う式には必ず付けてください。
  • かっこ ( ) は中身を取り出します。まとめるだけでよいときは (?: ) と書けば、後ろのグループ番号がずれません。
  • ここに載せた式はすべて例と突き合わせて検査しています。ただし「メールの形をしている」ことと「実在する宛先」であることは別の話です。
  • 終わりの決まっていない繰り返しが入れ子になると((a+)+ など)、入力によって時間が爆発することがあります。他人の式を貼る前にこの形を探してください。

よくある質問

Q. プライベートIPv4の範囲に一致する正規表現は。

^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3})$ です。

Q. どんな文字列が合いますか。

10.0.0.1 のような文字列は合い、8.8.8.8 のような文字列は合いません。

Q. 文字列全体が合う必要がありますか。

はい。^ と $ で囲まれているので、全体が合わないと通りません。

Q. 取り出した値はどう使いますか。

取り出すグループが2個あるので、match[1] から順に読めます。