正则表达式 – 最好的现代文本解析? AKA何时使用Lex和Yacc?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 最好的现代文本解析? AKA何时使用Lex和Yacc?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有输入文本块的命令和参数,每行一个,如

XYZ ARG1,ARG2,ARG3,...,ARGN

我想验证XYZ的参数是否适用于该特定命令,如果是,则执行正确的代码块.有大约100个命令,其中一些有可变数量的参数,不同的关系(即如果命令XYZ被调用,那么我也需要命令ABC调用).

还存在命令,例如:

COMMAND
XYZ ARG1
BEF ARG1 ARG2
ENDCOMMAND

重要的是文本包含在COMMAND和ENDCOMMAND中.

通常对于这样的事情,我会使用Lex和Yacc而不是正则表达式,但还有更现代的东西吗?代码是用C#编写的.在MSDN中有什么可以做到这一点而不是旧学校C Lex和Yacc吗?

解决方法

如果您正在寻找Lex / Yacc的替代品,请查看 ANTLR.它支持各种语言的代码生成,including C#.

猜你在找的正则表达式相关文章