2017-10-09 6 views
0

내가 다음 fastparse 파서는 "변수"라는 이름의 한 스칼라에 일치에 실패 :는 FASTPARSE

val alphabet = 'A' to 'z' 
val variable: Parser[String] = P(CharsWhileIn(alphabet).!) 
이 파서가 "끝"와 같은 특정 단어에 실패하는 내가 좋아하는 것

는 는 여전히 파서를 반환하면서 [끈]. 이 성공할 경우

val alphabet = 'A' to 'Z' 
val variable: P[String] = P(!"end" ~ CharIn(alphabet).rep(min = 1)).! 

을 :

println(variable.parse("ABCend")) // Success(ABC,3) 

을하지만이되지 않습니다

답변

1

negative lookahead으로 시도

println(variable.parse("endABC")) // Failure(!("end"):1:4 ..."ABC")