je le Parser simple, Scala suivante:match de Scala en ligne toute
object MainTest extends JavaTokenParsers {
def line: Parser[String] = "A"
def main(args: Array[String]): Unit = {
println(parseAll(line, """AB""".stripMargin))
}
}
Je voudrais ce type pour traiter une ligne (dans ce cas, « AB ») et renvoie une erreur si la ligne ne correspond pas à "A" (ou tout autre motif que je donne).
Malheureusement cela ne fonctionne pas avec:
[1.2] failure: string matching regex `\z' expected but `B' found
AB
^
Le problème est que « A » est adaptée, même si la fin de la ligne n'est pas atteint. Je voudrais faire échouer l'analyseur pour TOUTES les lignes 'AB', de sorte que si je divise l'entrée en lignes, une ligne entière est appariée ou non.
Est-ce possible?
Pourriez-vous essayer pour expliquer comment vous voulez qu'il se comporte un peu plus en détail? J'aimerais aider, mais j'ai du mal à comprendre ce que vous voulez faire. – johanandren
J'ai ajouté quelques explications supplémentaires! –