Logo Wand.Tools

正規表現ジェネレーター

正規表現を智能生成・解説し、様々な一般的なパターンマッチングをサポート

正規表現によるIPアドレス照合完全チュートリアル(コード例付き)

  # 正規表現によるIPアドレス照合完全チュートリアル(コード例付き)
  
  本チュートリアルでは、正規表現を使用してIPv4およびIPv6アドレスを照合する方法を詳細に解説します。ログ分析、データクリーニング、セキュリティフィルタリングなどのシナリオに適しています。多言語実装をサポートし、正規表現の構文解説とよくある例を含んでおり、IPアドレス照合スキルを素早く習得するのに役立ちます。
  
  ## 📌 正規表現によるIPv4アドレス照合
  
  IPv4アドレスは、0から255までの4つの数字で構成され、各数字はドット `.` で区切られています。
  
  ### ✅ IPv4正規表現
  
  ```regex
  \b(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.|$)){4}\b

🧪 コード例(Python)

import re

pattern = r'\b(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.|$)){4}\b'
text = "有効なIPアドレス: 192.168.1.1, 不正なIP: 256.300.88.1"

matches = re.findall(pattern, text)
print("マッチ結果:", matches)

🌐 正規表現によるIPv6アドレス照合

IPv6アドレスは、コロン : で区切られた16進数の8つのグループで構成され、連続するゼロフィールドを表すために省略形 :: を使用できます。

✅ IPv6正規表現

\b((?:(?:[0-9a-fA-F]{1,4}):){7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|:(?::[0-9a-fA-F]{1,4}){1,7}|::)\b

🧪 コード例(Python)

import re

pattern = r'\b((?:(?:[0-9a-fA-F]{1,4}):){7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|:(?::[0-9a-fA-F]{1,4}){1,7}|::)\b'
text = "例のIPv6アドレス: 2001:0db8:85a3:0000:0000:8a2e:0370:7334, 短縮形 ::1"

matches = re.findall(pattern, text)
print("マッチ結果:", matches)

🚀 多言語サポート

JavaScript 例

const ipv4Regex = /\b(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.|$)){4}\b/g;
const text = "IPアドレスには127.0.0.1と999.999.999.999が含まれます";
const matches = text.match(ipv4Regex);
console.log("マッチ結果:", matches);

🔍 正規表現の要点まとめ

  • 25[0-5]:250から255までの数字にマッチ
  • 2[0-4]\d: 200から249にマッチ
  • 1\d{2}: 100から199にマッチ
  • [1-9]?\d: 0から99にマッチ
  • (?:...): 非キャプチャグループ
  • \b: 単語境界、完全なIPのマッチを保証