Сопоставление Scala RegEx не удается, Java успешно завершена

В следующем коде тот же шаблон соответствует при использовании Java API, но не при использовании сопоставления с шаблоном Scala.

import java.util.regex.Pattern

object Main extends App {
  val text = "/oAuth.html?state=abcde&code=hfjksdhfrufhjjfkdjfkds"

  val statePatternString = """\/.*\?.*state=([^&\?]*)"""
  val statePattern = statePatternString.r
  val statePatternJ = Pattern.compile(statePatternString)

  val sj = statePatternJ.matcher(text)
  val sjMatch = if (sj.find()) sj.group(1) else ""
  println(s"Java match $sjMatch")

  val ss = statePattern.unapplySeq(text)
  println(s"Scala unapplySeq $ss")
  val sm = statePattern.findFirstIn(text)
  println(s"Scala findFirstIn $sm")

  text match {
    case statePattern(s) =>
      println(s"Scala matching $s")
    case _ =>
      println("Scala not matching")
  }

}

Выходные данные приложения:

Java соответствует abcde

Скала неприменимаСек Нет

Scala findFirstIn Some (/oAuth.html?state=abcde)

Скала не соответствует

Что приводит к сбою регулярного выражения Scala unapplySeq?

Ответы на вопрос(1)

Ваш ответ на вопрос