regex
typedef struct regex REGEX;
#define TRE_SYSTEM_REGEX_H_PATH <regex.h>
tre_regcomp(regex_t * __restrict preg, const char * __restrict regex,
tre_regwcomp(regex_t *preg, const wchar_t *regex, int cflags);
tre_regncomp(regex_t *preg, const char *regex, size_t len, int cflags);
tre_regwncomp(regex_t *preg, const wchar_t *regex, size_t len, int cflags);
tre_regcomp_l(regex_t *preg, const char *regex, int cflags, locale_t locale);
tre_regncomp_l(regex_t *preg, const char *regex, size_t len, int cflags,
tre_regwcomp_l(regex_t *preg, const wchar_t *regex, int cflags,
tre_regwncomp_l(regex_t *preg, const wchar_t *regex, size_t len, int cflags,
regex_t regex;
if (regcomp(®ex, pattern, REG_EXTENDED) != 0)
match = calloc(regex.re_nsub + 1, sizeof(*match));
regfree(®ex);
found = !regexec(®ex, HN, regex.re_nsub + 1, match, 0);
subex = !!regex.re_nsub;
regfree(®ex);