X-Spam-Check-By: sourceware.org Date: Tue, 14 Mar 2006 11:35:17 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Bug in POSIX.2 regex word boundary matching Message-ID: <20060314103517.GD5887@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <1142317647 DOT 4416624fd617a AT imp1-g19 DOT free DOT fr> <1142318263 DOT 441664b7bea01 AT imp1-g19 DOT free DOT fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1142318263.441664b7bea01@imp1-g19.free.fr> User-Agent: Mutt/1.4.2i Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Mar 14 19:37, dominique DOT pelle AT free DOT fr wrote: > Bleah. #include statements were missing in my > previously posted sample test case. Here > is the test case again with #include statements > this time: > > $ cat regex-bug.c > > #include > #include > #include > > int main() > { > regex_t r; > regmatch_t pmatch[2]; > > if (regcomp(&r, "\\bfoobar\\b", REG_EXTENDED) != 0) { > fprintf(stderr, "regcomp failed\n"); > exit(-1); > } > > /* I'd expect above regex to match following string */ > if (regexec(&r, "test foobar test", 2, pmatch, 0) == 0) { > fprintf(stderr, "OK (match)\n"); /* expected behavior */ > } else { > fprintf(stderr, "FAIL (mismatch)\n"); /* unexpected!? */ > } > return 0; > } > > $ gcc regex-bug.c > $ ./a.out > > Outcome on Cywgin ................ FAIL (mismatch) > > Outcome on Linux (Ubuntu-5.10) ... OK (match) Linux uses the glibc GNU regex library, which allows extensions known from perl, like \b, \w. Cygwin's regex is Henry Spencer's implementaton which does not know these extensions. Note that the POSIX standard of regular expressions does not contain these extensions, see also http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/