Scala解析字符串序列

时间:2017-01-03 09:28:40

标签: scala

我希望将一系列字符串解析为单个标记。现在它只解析第一个单词。

class SimpleRegexParser extends RegexParsers{

 def word: Parser[String]    = """[a-z]+""".r ^^ { _.toString }

}

object SimpleRegexParserMain extends SimpleRegexParser{
 def main(args: Array[String]) = {
println(parse(word, "johnny has a little lamb"))

 }
}

现在我得到了: [1.7]解析:johnny

如何将整个字符串解析为单个标记,以便适用于变量字符串长度。

欢迎任何指向这项工作的指示。请告诉我如何使它在scala中运行。

1 个答案:

答案 0 :(得分:0)

好。我找到了答案。

我不得不改变单词的定义。

以下是更新后的定义:

class SimpleRegexParser extends RegexParsers{

def word: Parser[String]    = rep("""[a-z]+""".r) ^^ { _.toString }

}

以前的表达式适用于单个单词,我现在重复单词 rep()

结果如下:

[1.25] parsed: List(johnny, has, a, little, lamb)