我希望将一系列字符串解析为单个标记。现在它只解析第一个单词。
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中运行。
答案 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)