1

使用像 FParsec 这样的库来解析文本与使用来自 .NET 语言的普通正则表达式相比有什么优势?

4

1 回答 1

3

FParsec 可以识别(至少)上下文无关的语法,而正则表达式只能识别正则语言,至少不使用一些 hacky 扩展。

使用常规语言无法做到的一个例子是括号匹配,即跟踪左括号和右括号的数量并确保它们匹配。

当然,您可以通过重复使用正则表达式来模拟这一点,但是将行为嵌入到单个解析器中会更加清晰。

于 2014-02-10T12:54:34.143 回答