re question
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Fri Jun 23 10:33:56 EDT 2006
In <e7gq1d$clo$1 at news2.rz.uni-karlsruhe.de>, Daniel Schüle wrote:
> this is the pattern
>
> pattern =
> re.compile(r'^\s*package\s+(?P<name>\w+)\s+is\s+(?P<content>.*?)\s+end(\s+package)?(\s+(?P=name))?\s*;',
> re.DOTALL | re.MULTILINE | re.IGNORECASE)
>
> and the problem is that
> package TEST is xyz end;
> works but
> package TEST123 is xyz end;
> fails
For me both work:
In [11]:pattern = (
t>.*?)\s+end(\s+package)?(\s+(?P=name))?\s*;', )\s+is\s+(?P<conten
.11.:re.DOTALL | re.MULTILINE | re.IGNORECASE))
In [12]:pattern.match('package TEST is xyz end;')
Out[12]:<_sre.SRE_Match object at 0x405b1650>
In [13]:pattern.match('package TEST123 is xyz end;')
Out[13]:<_sre.SRE_Match object at 0x405b15f8>
I have copy and pasted you code.
For debugging re's in Python you might take a
look at http://kodos.sourceforge.net/
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list