LoginSignup
9

More than 5 years have passed since last update.

正規表現でのIPマッチング -Regexp

Last updated at Posted at 2017-11-30

概要

正規表現で、IPアドレスにマッチングする方法。
ついでに、PORT番号を含めてマッチする方法も書いておく。

実装

早速マッチングするためのコードを以下に記す。

pattern.txt
(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])

コードについて説明すると、「[1-9]?[0-9]」の部分は、1桁の1〜9か、二桁の10〜99までにマッチする様になっている。

その次の「|1[0-9]{2}」は、「|」と言うのが”または”という意味であり、最初に1を固定し、「100〜199」までマッチするようになっている。
因みに、{n}というのは、直前のパターンをn回繰り返すという意味である。

恐らく、ここまで説明すれば後は理解できると思うので、次のサンプルに移る。

プロキシーを取得したい場合、「0.0.0.0:8080」の様にPORTが付いている場合がある。
この場合の取得方法も書いておく。

pattern.txt
(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]):([1-9][0-9]{3}|[1-9][0-9]{2}|[1-9][0-9]{1})

この様にすればPORTも含めてマッチができる。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
9