On 26 Oct 2009, at 16:41, Jason Dagit wrote:
What does (^|/) match?
It matches the following token either at the beginning or after a /,
in other words the core can be either at the top level directory or in
some subdirectory. I'm a bit surprised that this construct is so
unexpected to you since its used all over the default boring file.
Similarly, (\.[0-9]+|)$ is odd to me.
It's the same. It matches either .NNNN or nothing at the end of the
match, i.e. either core or core.NNNN
I just looked at the pcrepattern, regex, and re_format man pages on
linux and the only meaning for | that I could find is to separate
two or more alternatives.
That's exactly what it does.
I did learn that character classes should be preferred over ranges
for portability (although, I don't see how an implementation could
screw up on [0-9] and still be a correct implementation).
Is it possible that the second | in the pattern for core files is
erroneous?
I don't think so. That is a valid regular expression.
Perhaps the linux posix library for regular expressions ignores the
error (or maybe it's not even an error) while the os x
implementation complains?
The regex is valid. I do not expect linux to ignore the error yet
still produce the correct result ;)
I'm more inclined now to believe that this is a bug in the OS X regex
implementation and that it has nothing to do with the case sensitivity
of the filesystem.
--
Dan
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users