F# 字符串和字符流<';a>;在FParsec

F# 字符串和字符流<';a>;在FParsec,f#,fparsec,F#,Fparsec,我想解析一个大句子,它可以包含fsharp中的名称。 我认为名字的形式是名字+姓氏。 在没有名字列表的情况下(找不到,稍后再做),我说名字是长度为4或更多的字符串,与姓氏相同 当我尝试我的非常智能的解析器时 let firstorlastname x = (parray 4 letter) x firstorlastname "JEAN" firstorlastname "CHRISTOPHE" 因此,这两种方法都适用,但问题是它只消耗4个字符,这不是Christophe想要的行为。我希望整

我想解析一个大句子,它可以包含fsharp中的名称。 我认为名字的形式是名字+姓氏。 在没有名字列表的情况下(找不到,稍后再做),我说名字是长度为4或更多的字符串,与姓氏相同

当我尝试我的非常智能的解析器时

let firstorlastname x = (parray 4 letter)  x
firstorlastname "JEAN"
firstorlastname "CHRISTOPHE"
因此,这两种方法都适用,但问题是它只消耗4个字符,这不是Christophe想要的行为。我希望整个世界都被消费掉


我如何指示FParsec使用整个单词,但如果单词少于4个字符,则会失败?

尚未对其进行测试,但我认为应该这样做:

let firstOrLastName = manyMinMaxSatisfy 4 Int32.MaxValue isLetter