正規表現で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 で調べてみるか。