Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用像 FParsec 这样的库来解析文本与使用来自 .NET 语言的普通正则表达式相比有什么优势?
FParsec 可以识别(至少)上下文无关的语法,而正则表达式只能识别正则语言,至少不使用一些 hacky 扩展。
使用常规语言无法做到的一个例子是括号匹配,即跟踪左括号和右括号的数量并确保它们匹配。
当然,您可以通过重复使用正则表达式来模拟这一点,但是将行为嵌入到单个解析器中会更加清晰。