我有作为输入文本块的命令和参数,每行一个,例如
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?