import java.net.{InetAddress,UnknownHostException} import util.parsing.combinator.RegexParsers object IpParsers extends RegexParsers { def ipAddress: Parser[String] = """[0-9a-fA-F:\.]+""".r.withFilter { str => try { val addr = InetAddress.getByName(str) true } catch { case e: UnknownHostException => false } } } 前提として、IPv4またはIPv6文字列をまとめて扱い、ざっくりと文字列の範囲を選びとる。(最初の正規表現マッチ) withFilterで抽出した文字列の検証を追加 Ine