scala正则表达式提取器的问题

时间:2016-05-09 15:01:18

标签: regex scala pattern-matching extractor

我有正则表达式extrator的问题,这是我的正则表达式

val regex = """(some\/params\/results\/\b[A-Z]{3}\/[A-Z]{3}\b\/)*""".r

当我尝试这样做时:

val regex(res) = "some/params/results/XXX/YYY/2016-05-09/2016-05-18/1/0/0"

我得到了:

some/params/results/XXX/YYY/2016-05-09/2016-05-18/1/0/0 (of class java.lang.String)
scala.MatchError: some/params/results/XXX/YYY/2016-05-09/2016-05-18/1/0/0 (of class java.lang.String)

我想在模式匹配中使用它:

url match {
  case regex(res) => res
  case _ => url
}

提取小组some/params/results/XXX/YYY/

1 个答案:

答案 0 :(得分:1)

.

之前添加倒数第二个元素点*

说明:

(...)* - 结尾处的星号表示:括号内的零个或多个内容匹配。

(...).* - 结尾处的星标表示:.的零个或多个匹配项,其中.是任意单个字符。