On Thu, 25 Oct 2007 06:34:03 +0000, looping wrote: > Hi, > It's not really a Python question but I'm sure someone could help me. > > When I use RE, I always have trouble with this kind of search: > > Ex. > > I've a text file: > """ > create or replace package XXX > ... > > create or replace package body XXX > ... > """ > now I want to search the position (line) of this two string. > > for the body I use: > s = re.search(r'create\s+or\s+replace\s+package\s+body\s+', txt, > re.IGNORECASE) > > but how to search for the other line ? > I want the same RE but explicitly without "body".
The write the same RE but explicitly without "body". But I guess I didn't understand your problem when the answer is that obvious. Maybe you want to iterate over the text file line by line and match or search within the line? Untested: needle = re.compile(r'create\s+or\s+replace\s+package(\s+body)?\s+', re.IGNORECASE) for i, line in enumerate(lines): if needle.match(line): print 'match in line %d' % (i + 1) Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list