regexec method

int regexec(
  1. regex_t preg,
  2. String string,
  3. int nmatch,
  4. List<regmatch_t> pmatch,
  5. int eflags,
)

Execute regex match

Implementation

int regexec(regex_t preg, String string, int nmatch, List<regmatch_t> pmatch, int eflags) {
  if (preg.re == null) return REG_BADPAT;

  var match = preg.re!.firstMatch(string);
  if (match == null) return REG_NOMATCH;

  if ((preg.cflags & REG_NOSUB) == 0 && nmatch > 0 && pmatch.isNotEmpty) {
    pmatch[0].rm_so = match.start;
    pmatch[0].rm_eo = match.end;
  }
  return 0;
}