用FParsec解析字符串文字?

时间:2012-02-08 13:54:39

标签: parsing f# fparsec

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

'Please, switch off your mobile phone'

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

let string = between (pstring "'") (pstring "'") (manySatisfy isLetter)

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

1 个答案:

答案 0 :(得分:7)

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

问题是解析器失败了,或空格,因为它们不是字母。它可以通过使用:

来修复
manyChars (noneOf "'")

或更明确地使用:

manySatisfy ((<>) '\'')

代替。