> when I do, re.compile('[A-Za-z]:\\([^/:\*\?"<>\|])*') ...I get
>
> sre_constants.error: unbalanced parenthesis
Because you're not using raw strings, the escapables become
escaped, making your regexp something like
[A-Za-z]:\([^/:\*\?"<>\|])*
(because it knows what "\\" is, but likely doesn't attribute
significance to "\?" or "\|", and thus leaves them alone).
Thus, you have "\(" in your regexp, which is a literal
open-paren. But you have a ")", which is a "close a grouping"
paren. The error is indicating that the "close a grouping" paren
doesn't close some previously opened paren.
General good practice shoves all this stuff in a raw string:
r"[A-Za-z]:\\([^/:\*\?"<>\|])*"
which solves much of the headache.
-tkc
--
http://mail.python.org/mailman/listinfo/python-list