Subject: Re: cygwin/regex is non-POSIX
From: Yitzchak Scott-Thoennes <[email-masked]>
To: [email-masked]
Date: Sat, 17 Jan 2004 21:04:50 -0800

On Thu, Jan 15, 2004 at 03:14:57PM -0500, Sam Steingold <[email-masked]> wrote:
> the cygwin regex is not POSIX.
> backrefs are not available by default (apparently you need REG_BACKR for
> that), "(a|)*" cannot be compiled because of "empty (sub)expression",
> &c &c.
> any plans to fix this? (e.g., by replacing it with gnu regex?)
> thanks.

SUSv3 says:
  A vertical-line appearing first or last in an ERE, or immediately
  following a vertical-line or a left-parenthesis, or immediately
  preceding a right-parenthesis, produces undefined results.

Also, it says backrefs part of basic regular expressions but not
exteneded ones.  From your mention of | I assume you are using
REG_EXTENDED.  If REG_EXTENDED|REG_BACKR allows backrefs, it doesn't
appear to be documented.

--
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/