私はこれらのようないくつかの文字列を持っています:
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。それを修正することは可能ですか?