Shammer's Philosophy

My private adversaria

正規表現でIPアドレス判定ーC言語ーその1

HTTPクライアントを書いてみようと思っていたが、引数で渡された文字がIPなのかホスト名なのかを判定できるようにしたいと思った。そして、それぞれの場合で動作を変えたい。これを可能にするには、引数がIPアドレスかどうかを判定できる必要がある。

まず、IPアドレス正規表現は・・・完璧には難しいかも、と思ったら、IPアドレスの正規表現の解説 - 燈明日記に説明がありました。ありがとうございます!

/^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])$/

そして、C言語正規表現を使用するには、regex.h を使用するようだ。[C言語]正規表現 サンプルコード « イイ!! プログラミング Blogにサンプルがあるが、nmatch や pmatch が何を意味するか不明。例によって、man で調べてみるか。