re_exec(3)

re_exec3

Regular expression handler

Part of re_comp(3).

Usage

#include <unistd.h>

char *

re_comp(const char *s);

int

re_exec(const char *s);

Library

library “libcompat”

Overview

This interface is made obsolete by regex(3).

The re_comp() function compiles a string into an internal form suitable for pattern matching. The re_exec() function checks the argument string against the last string passed to re_comp().

The re_comp() function returns 0 if the string s was compiled successfully; otherwise a string containing an error message is returned. If re_comp() is passed 0 or a null string, it returns without changing the currently compiled regular expression.

The re_exec() function returns 1 if the string s matches the last compiled regular expression, 0 if the string s failed to match the last compiled regular expression, and -1 if the compiled regular expression was invalid (indicating an internal error).

The strings passed to both re_comp() and re_exec() may have trailing or embedded newline characters; they are terminated by NULs. The regular expressions recognized are described in the manual entry for ed(1), given the above difference.

Diagnostics

The re_exec() function returns -1 for an internal error.

The re_comp() function returns “no previous regular expression” or one of the strings generated by regerror(3).

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 40 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–3.4
  3. 3.5–3.5.1
  4. 4.0–4.2
  5. 4.3
  6. 4.4
  7. 4.5–4.11
  8. 5.0–6.3
  9. 6.4
  10. 7.0
  11. 7.1
  12. 7.2
  13. 7.3
  14. 7.4
  15. 8.0
  16. 8.1
  17. 8.2
  18. 8.3
  19. 8.4
  20. 9.0
  21. 9.1
  22. 9.2
  23. 9.3
  24. 10.0
  25. 10.1
  26. 10.2
  27. 10.3
  28. 10.4
  29. 11.0
  30. 11.1
  31. 11.2
  32. 11.3
  33. 11.4
  34. 12.0
  35. 12.1
  36. 12.2
  37. 12.3
  38. 12.4
  39. 13.0–13.2
  40. 13.3–14.5
  41. 15.0–16.0

History

The re_comp() and re_exec() functions appeared in 4.0BSD.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.