multiline regular expression (replace)

Holger Berger hobel at belleombre.de
Tue May 29 13:44:44 EDT 2007


Hi,

yes:

import re

a="""
I Am
Multiline
but short anyhow"""

b="(I[\s\S]*line)"

print re.search(b, a,re.MULTILINE).group(1)


gives

I Am
Multiline

Be aware that . matches NO newlines!!!
May be this caused your problems?

regards
        Holger


Zdenek Maxa wrote:

> half.italian at gmail.com wrote:
>> On May 29, 2:03 am, Zdenek Maxa <zdenekm... at yahoo.co.uk> wrote:
>>   
>>> Hi all,
>>>
>>> I would like to perform regular expression replace (e.g. removing
>>> everything from within tags in a XML file) with multiple-line pattern.
>>> How can I do this?
>>>
>>> where = open("filename").read()
>>> multilinePattern = "^<tag> .... <\/tag>$"
>>> re.search(multilinePattern, where, re.MULTILINE)
>>>
>>> Thanks greatly,
>>> Zdenek
>>>     
>>
>> Why not use an xml package for working with xml files?  I'm sure
>> they'll handle your multiline tags.
>>
>> http://effbot.org/zone/element-index.htm
>> http://codespeak.net/lxml/
>>
>> ~Sean
>>
>>   
> 
> Hi,
> 
> that was merely an example of what I would like to achieve. However, in
> general, is there a way for handling multiline regular expressions in
> Python, using presumably only modules from distribution like re?
> 
> Thanks,
> Zdenek




More information about the Python-list mailing list