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 system 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.