Found this: http://stackoverflow.com/questions/13871833/negative-lookahead-assertion-not-working-in-python .
This pattern seems to work: pattern = re.compile(r"^(?!.*(CTL|DEL|RUN))") But I am not sure why. On Mon, Jul 1, 2013 at 5:07 PM, Jason Friedman <jsf80...@gmail.com> wrote: > I have table names in this form: > MY_TABLE > MY_TABLE_CTL > MY_TABLE_DEL > MY_TABLE_RUN > YOUR_TABLE > YOUR_TABLE_CTL > YOUR_TABLE_DEL > YOUR_TABLE_RUN > > I am trying to create a regular expression that will return true for only > these tables: > MY_TABLE > YOUR_TABLE > > I tried these: > pattern = re.compile(r"_(?!(CTL|DEL|RUN))") > pattern = re.compile(r"\w+(?!(CTL|DEL|RUN))") > pattern = re.compile(r"(?!(CTL|DEL|RUN)$)") > > But, both match. > I do not need to capture anything. >
-- http://mail.python.org/mailman/listinfo/python-list