regex
struct regex;
typedef int (*regex_match_func)(char *str, struct regex *r, int len);
static int regex_match_full(char *str, struct regex *r, int len)
static int regex_match_front(char *str, struct regex *r, int len)
static int regex_match_middle(char *str, struct regex *r, int len)
static int regex_match_end(char *str, struct regex *r, int len)
static int regex_match_glob(char *str, struct regex *r, int len __maybe_unused)
struct regex *r = pred->regex;
pred->regex = kzalloc_obj(*pred->regex);
if (!pred->regex)
pred->regex->len = len;
memcpy(pred->regex->pattern, str + s, len);
pred->regex->pattern[len] = 0;
pred->regex = kzalloc_obj(*pred->regex);
if (!pred->regex)
pred->regex->len = len;
memcpy(pred->regex->pattern, str + s, len);
pred->regex->pattern[len] = 0;
pred->regex->field_len = field->size;
kfree(pred->regex);
pred->regex->pattern,
pred->regex->len,
struct regex *regex;
cmp = pred->regex->match(addr, pred->regex, pred->regex->field_len);
cmp = pred->regex->match(str, pred->regex, len);
cmp = pred->regex->match(addr, pred->regex, str_len);
cmp = pred->regex->match(addr, pred->regex, str_len);
cmp = pred->regex->match(current->comm, pred->regex,
regex_t regex;
ret = regcomp(®ex, "flen=[[:alnum:]]+ proglen=[[:digit:]]+ "
ret = regexec(®ex, ptr, 1, pmatch, 0);
regfree(®ex);
regfree(®ex);
static bool check_regcomp(regex_t *pattern, const char *regex)
err = regcomp(pattern, regex, REG_EXTENDED | REG_NEWLINE);
fprintf(stderr, "Invalid pattern %s code %d\n", regex, err);
regex_t regex;
regcomp(®ex, "^([a-f0-9A-F]{1,}):([a-f0-9A-F]{1,2})", REG_EXTENDED);
ret = regexec(®ex, str, 0, NULL, 0);
regfree(®ex);
static bool symbol__match_regex(struct symbol *sym, regex_t *regex)
return regexec(regex, sym->name, 0, NULL, 0) == 0;
regfree(&msgs->patterns[i].regex);
static int compile_regex(const char *pattern, regex_t *regex)
err = regcomp(regex, buf, REG_EXTENDED | REG_NEWLINE);
regerror(err, regex, err_buf, sizeof(err_buf));
err = compile_regex(pattern, &msg->regex);
err = regexec(&msg->regex, *log, 1, reg_match, 0);
regex_t regex;
regex_t regex;
ret = regcomp(®ex, pattern, 0);
ret = regexec(®ex, msg.data, ARRAY_SIZE(matches), matches, 0);
regfree(®ex);
if (regcomp(&config->tz_regex[config->nr_tz_regex].regex, name,
regex_t regex;
if (!regexec(&config->tz_regex[i].regex, expr, 0, NULL, 0))
if (regcomp(&config->tz_regex[config->nr_tz_regex].regex, ".*",