0
Scala 2.11.8でURLのホスト名を抽出しようとしています。何らかの理由でパターンマッチングアプローチが動作しないと私はScalaでなぜ:(ScalaでRegexのパターンマッチングが動作しないのはなぜですか
val HOSTNAME = "^http[s]:\\/?\\/?([^:\\/\\s]+)".r
val text = "https://foo-bar.hostname.com/"
// evaluates to None
val host: Option[String] = {
text match {
case HOSTNAME(h) => Some(h)
case _ =>
None
}
}
// evaluates to Some(foo-bar.hostname.com)
val host: Option[String] = {
val matcher = HOSTNAME.findAllIn(text)
if (matcher.hasNext && matcher.groupCount > 0) {
Some(matcher.group(1))
} else {
None
}
}
グレート答え、どうもありがとう! – reikje