我有几个这样的字符串:
name[arg,arg,arg]
name[arg,arg]
name[arg]
name
我想用 scala 组合器解析器解析它,这是我设法得到的最好的:
object TaskDepParser extends JavaTokenParsers {
def name: Parser[String] = "[^\\[\\],]+".r
def expr: Parser[(String, Option[List[String]])] =
name ^^ { a => (a, None) } |
name ~ "[" ~ repsep(name, ",") ~ "]" ^^ { case name~_~args~_ => (name, Some(args)) }
}
它可以工作name
,但无法工作name[arg]
- 说string matching regex
\z' 预期但是[' found
。有可能修复它吗?