문제

Spirit Parser를 사용하여 다음과 유사한 문자열을 구문 분석하려고합니다.

<junk> -somearg#this is a string with a literal ## in it# <junk>

내가 찾고있는 것은 # 마크 내부의 부분을 추출 할 수있는 문법이지만 중간에서 이중 ##을 건너 뛰는 것이 현명합니다. 이는 리터럴 #을 의미하는 탈출입니다.

이것이 내가 염두에 두었던 것입니다.
confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#'))
그러나 이것은 반환됩니다 :
#this is a string with a literal ##
나는 그것을 건너 뛰고 싶다 ## 캐릭터 .... 이것이 가능합니까?

빌리 3

도움이 되었습니까?

해결책

나는 Kleene 스타를 The Inclix Parser에 추가하여 이것을 해결했습니다. 어쨌든 감사합니다!

*confix_p(L'#', *anychar_p, L'#' >> ~ch_p(L'#')) 예상대로 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top