Scala 正则表达式提取器的问题
Problems with scala regex extractor
我的正则表达式提取器有问题,这是我的正则表达式
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/
在*
之前添加倒数第二个元素点.
解释:
(...)*
- 末尾的星号表示:零个或多个匹配括号中的内容。
(...).*
- 末尾的星号表示:.
的零个或多个匹配项,其中 .
是任何单个字符。
我的正则表达式提取器有问题,这是我的正则表达式
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/
在*
.
解释:
(...)*
- 末尾的星号表示:零个或多个匹配括号中的内容。
(...).*
- 末尾的星号表示:.
的零个或多个匹配项,其中 .
是任何单个字符。