我只想解析以下字符串,直到END
令牌然后忽略其余部分:
val input = """
0)
blah1
blah2
blah3
1)
blah4
blah5
END
blah6
"""
使用
object Pars extends RegexParsers {
def strings: Parser[List[String]] = rep(str) <~ end
def str: Parser[String] = ".*".r
def end: Parser[String] = "END" <~ rep(".*".r)
}
Pars.parseAll(Pars.strings, input)
进入无限循环和 OutOfMemoryError。我做错了什么,如何解决这个问题?