1

我想从 python 移植以下正则表达式:

HASH_REGEX = re.compile("([a-fA-F0-9]{32})")
if HASH_REGEX.match(target):
    print "We have match"

使用 apr-utils apr_strmatch 函数到 C:

pattern = apr_strmatch_precompile(pool, "([a-fA-F0-9]{32})", 0);
if (NULL != apr_strmatch(pattern, target, strlen(target)) {
    printf("We have match!\n");
}

问题是我不明白正则表达式(或方言)apr-utils apr_strmatch 函数正在使用什么语法。搜索文档和示例没有结果。

提前感谢您的建议...

4

1 回答 1

1

apr_strmatch根本不做正则表达式匹配;它使用Boyer–Moore–Horspool算法进行普通的子字符串搜索(参见源代码)。

对于 C 中的 RE 匹配,请尝试PCRE

于 2011-12-06T10:42:09.447 回答