Почему регулярное выражение scala не соответствует html href

0

Вот мой код

object RegexParser { 
  def main(args :Array[String]){ 
  val html = """test<a href="/web/content/">web content</a>""" 
  val Content = ".*<a href=\"(.*)\">.*".r
  html match { 
    case Content(c) => println(s"c=${c}") 
    case _ => println("wokao") 
  } 
 } 
}

почему html не соответствует Контенту?

  • 0
    object RegexParser {def main (args: Array [String]) {val html = "" "test <a href="/web/content/"> веб-контент </a>" "" val Content = ". * <a href = \ "(. *) \">. * ". r // html необходимо полностью сравнить с контентом html match {case Content (c) => println (s" c = $ {c} ") case _ => println ("wokao")}}}
  • 0
    Работает на моей машине. Какую версию Scala вы используете?
Теги:

1 ответ

2
Лучший ответ

Это работает как шарм (на Scala 2.9.2, поэтому no s"").

scala> val html = """test<a href="/web/content/">web content</a>"""
html: java.lang.String = test<a href="/web/content/">web content</a>

scala> val Content = ".*<a href=\"(.*)\">.*".r
Content: scala.util.matching.Regex = .*<a href="(.*)">.*

scala> html match {
     | case Content(c) => println("c=" + c)
     | case _ => println("no match")
     | }
c=/web/content/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню