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

Reply via email to