用FParsec解析字符串文字?

Ale*_*kin 1 f# parsing fparsec

我想使用FParsec解析字符串文字.通过"字符串文字"我的意思是开始和结束报价(在我的情况下 - 单引号):

'Please, switch off your mobile phone'
Run Code Online (Sandbox Code Playgroud)

我目前正在做的是以下内容:

let string = between (pstring "'") (pstring "'") (manySatisfy isLetter)
Run Code Online (Sandbox Code Playgroud)

但是在消耗掉第一个字母后停止了.有没有办法让它变得贪婪?

pad*_*pad 7

它已经贪婪了; manySatisfy isLetter解析输入流中的一系列字母.

问题是解析器失败,或空格,因为它们不是字母.可以使用以下方法修复:

manyChars (noneOf "'")
Run Code Online (Sandbox Code Playgroud)

或更明确地使用:

manySatisfy ((<>) '\'')
Run Code Online (Sandbox Code Playgroud)

代替.