-- -- Andrew
"Arnaud Delobelle" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] 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 Arnaud, in your expression above.. >>> r = re.compile(r'/\*(.*?)\*/') what does the 'r' do? -- andrew -- http://mail.python.org/mailman/listinfo/python-list