Следующие скомпилированы с clang -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include youe_file.c -lgobject-2.0 -lglib-2.0
.
#include <stdio.h>
#include <glib.h>
static const char header_regex[] = "([\\w-]+): (\\w+)";
int main()
{
const char header[] = "Test: header1";
if (g_regex_match_simple(header_regex, header, 0, 0)){
printf("+\n");}
else {
printf("-\n");
}
return 0;
}
И это дает положительное совпадение. Разница была в regexp
шаблоне. Я удалил sla sh.
Исходная строка static const char header_regex[] = "/([\\w-]+): (\\w+)";
должна быть static const char header_regex[] = "([\\w-]+): (\\w+)";
^
|
no slash here