On Mar 13, 8:03 pm, "Andrew Rekdal" <<nospam>@comcast.net> wrote:
> I hope posting is ok here for this question...
>
> I am attempting to extract the text from a CSS comment using 're' such as...
>
> string = "/* CSS comment /*"
> exp = "[^(/*)].*[^(*/)] "
>
> p = re.compile(exp)
> q = p.search(string)
> r = q.group()
>
> print r
>
> >>CSS comment
>
> although this works to a degree... I know the within the brackets everything
> is taken literally so the pattern
> I am to negating is "(/*)". ie. includes the parenthesis.
>
> So my question is...
>
> Is there a way to negate a pattern that is more than on character long? eg.
> where rather than saying if forward slash OR astrisk appear..negate.
>
> I would be saying if parenthesis AND asterisk appear in this order... negate
>
> -- Andrew

There would be many ways to do this. One:

>>> import re
>>> r = re.compile(r'/\*(.*?)\*/')
>>> tst = '.a { color: 0xAACC66; /* Fav color */ }'
>>> m = r.search(tst)
>>> m.group(1)
' Fav color '
>>>

HTH

--
Arnaud

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to