0
我想在我的C程序中使用the TRE library来执行模糊正则表达式搜索。我已经成功地从阅读文档拼凑出这个代码:使用TRE的模糊正则表达式匹配
regex_t rx;
regcomp(&rx, "(January|February)", REG_EXTENDED);
int result = regexec(&rx, "January", 0, 0, 0);
然而,这只会匹配一个确切的正则表达式(即没有拼写错误被允许)。我看不出它允许设置这些功能的模糊任何参数:
int regcomp(regex_t *preg, const char *regex, int cflags);
int regexec(const regex_t *preg, const char *string, size_t nmatch,
regmatch_t pmatch[], int eflags);
如何设置模糊的水平(即最大Levenshtein距离),以及如何获得本场比赛的Levenshtein距离?
编辑:我忘了提及我正在使用GnuWin32的Windows二进制文件,它仅适用于0.7.5版本。 0.8.0的二进制文件仅适用于Linux。
见http://laurikari.net/tre/documentation/regaexec/ –
好吧,起初我以为我没有这个功能,因为它在你给出的链接中被列为'tre_regaexec',但它在我的'regex.h'中被列为只有'regaexec'。可能是因为我的版本是0.7.5我认为。 – sashoalm