我正在寻找一种工具,可以验证给定的文本\段落是否符合特定格式
例如:
我可以检查文本是否如下:
xxx{
sss:aaa;
}
yyy();
最好是开源工具,有简单的规则集,如xml或其他东西 通过文本我的意思是我从fgets()获得的字符串,或从文件中读取的任何函数。
答案 0 :(得分:0)
对于这样的事情,我建议使用解析器(例如,参见What is Parse/parsing?)。您可以使用像Yacc或其免费GNU等效Bison之类的解析器生成器或任意数量的other parser generators来解析您要解析的语言的定义,其中许多也是免费提供的。
大多数解析器用于将符合语法的文本转换为其他形式(例如中间语言或机器代码),但这不是必需的 - 在您的情况下,解析器可以简单地说(至少)如果文本符合给定的语法,则为“是”。
简单语法的解析器可以手工构建,但是,如果你有可用的工具,使用解析器生成器在我的经验中更容易和更健壮。
此外,您显示的文本类似于用C语言编写的代码部分(接近结构声明后跟函数调用),因此您可以重用部分代码您需要从现有的Yacc语法中获取C语法this one。