我想使用FParsec解析字符串文字。通过"字符串文字"我的意思是开始和结束报价(在我的情况下 - 单引号):
'Please, switch off your mobile phone'
我目前正在做的是以下内容:
let string = between (pstring "'") (pstring "'") (manySatisfy isLetter)
但是在第一个字母消耗后停止了。有没有办法让它变得贪婪?
答案 0 :(得分:7)
它已经贪婪了; manySatisfy isLetter
解析输入流中的一系列字母。
问题是解析器失败了,
或空格,因为它们不是字母。它可以通过使用:
manyChars (noneOf "'")
或更明确地使用:
manySatisfy ((<>) '\'')
代替。