The GNU C Library supports two interfaces for matching regular expressions. One is the standard POSIX.2 interface, and the other is what the GNU C Library has had for many years.
Both interfaces are declared in the header file regex.h.
If you define
_POSIX_C_SOURCE, then only the POSIX.2
functions, structures, and constants are declared.