다음은 REG_NOTBOL 플래그를 regexec()와 함께 사용하여 사용자가 제공한 패턴과 일치하는 줄의 모든 하위 문자열을 찾는 방법을 보여 줍니다. (예제의 단순화를 위해 오류 검사는 거의 수행되지 않습니다.) 이 인터페이스는 오류 조건을 처리하는 두 가지 방법을 제공합니다. 에 정의된 특정 오류 코드(예: REG_EBRACE)는 응용 프로그램이 오류로부터 복구할 수 있도록 합니다. 많은 응용 프로그램, 특히 사용자가 제공한 패턴을 사용하는 응용 프로그램은 특정 오류 사례를 처리하려고 시도하지 않지만 regerror()를 사용하여 사용자에게 표시할 사람이 읽을 수 있는 오류 메시지를 가져옵니다. 이 예제 프로그램은 유닉스 정규식 라이브러리를 사용합니다. preg 인수는 regerror())에 제공되어 구현이 errcode만으로는 가능한 것보다 더 자세한 설명메시지를 생성할 수 있습니다. 예를 들어 구현은 패턴의 잘못된 문자오프셋을 preg 필드에 저장한 다음 생성된 메시지 문자열에 포함시킬 수 있습니다. 구현은 사전을 무시할 수도 있습니다. GNU는 자유 소프트웨어, 즉 사용자의 자유를 존중하는 운영 체제입니다. GNU 운영 체제는 GNU 패키지(GNU 프로젝트에서 특별히 발표한 프로그램)와 제3자가 발표한 무료 소프트웨어로 구성됩니다. GNU의 개발은 당신의 자유를 짓밟을 것 소프트웨어없이 컴퓨터를 사용하는 것이 가능하게했다. 컴파일된 프로그램은 두 개의 인수를 취합니다.

첫 번째는 정규표현식입니다. 두 번째는 일치하는 텍스트입니다. 실행하면 더 이상 일치 항목을 찾을 수 없을 때까지 텍스트에 대한 정규 식과 일치합니다. 그런 다음 일치하는 문자열과 최대 9개의 괄호를 사용하는 식을 인쇄합니다. 자유 소프트웨어 운동은 자유 소프트웨어에서 오는 자유를 컴퓨팅의 사용자를 위해 승리캠페인. 자유 소프트웨어는 사용자가 자신의 컴퓨팅을 제어 할 수 있습니다. 비자유 소프트웨어는 사용자를 소프트웨어 개발자의 힘으로 만듭니다. 비디오 설명을 참조하십시오. errbuf_size가 0이면 regerror()는 errbuf 인수를 무시하고 생성된 문자열을 유지하는 데 필요한 버퍼의 크기를 반환합니다.

regexec() 함수는 문자열로 지정된 null-terminated 문자열과 regcomp()에 대한 이전 호출에 의해 초기화된 컴파일된 정규식 preg를 비교합니다. 일치하는 일치를 발견하면 regexec()은 0을 반환합니다. 그렇지 않으면 일치하지 않거나 오류가 없음을 나타내는 0이 아닌 것을 반환합니다. eflags 인수는 헤더에 정의된 다음 플래그 중 0 또는 그 이상을 비트씩 포함하는 OR입니다. 패턴에 줄의 시작과 일치해야 하는 곡면 문자가 포함된 경우 패턴은 줄의 시작부분과 일치하는 경우에만 일치해야 합니다. REG_NOTBOL 플래그가 없으면 응용 프로그램이 후속 일치에 대한 식을 다시 작성할 수 있지만 일반적으로 식을 구문 분석해야 합니다. REG_NOTEOL의 필요성은 명확하지 않습니다. 대칭을 위해 추가되었습니다. 더 정확하게 말하면, 자유 소프트웨어는 프로그램의 사용자가 네 가지 필수 자유를 가지고 있음을 의미합니다: ISO POSIX-2:1993 표준과 IEEE Std 1003.1-2001 간에 “나쁜” 정규식을 처리하는 방법에 대한 철학에 차이가 있음을 알 수 있습니다.