<br><br><div class="gmail_quote">On Wed, Dec 16, 2009 at 10:46 PM, Gabriel Rossetti <span dir="ltr"><<a href="mailto:gabriel.rossetti@arimaz.com">gabriel.rossetti@arimaz.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello everyone,<br>
<br>
I'm going nuts with some regex, could someone please show me what I'm doing wrong?<br>
<br>
I have an XMPP msg :<br>
<br>
<message xmlns='jabber:client' to='<a href="mailto:node@host.com" target="_blank">node@host.com</a>'><br>
<mynode xmlns='myprotocol:core' version='1.0' type='mytype'><br>
<parameters><br>
<param1>123</param1><br>
<param2>456</param2><br>
</parameters><br>
<payload type='plain'>...</payload><br>
</mynode><br>
<x xmlns='jabber:x:expire' seconds='15'/><br>
</message><br>
<br>
the <parameter> node may be absent or empty (<parameter/>), the <x> node may be absent. I'd like to grab everything exept the <payload> nod and create something new using regex, with the XMPP message example above I'd get this :<br>
<br>
<message xmlns='jabber:client' to='<a href="mailto:node@host.com" target="_blank">node@host.com</a>'><br>
<mynode xmlns='myprotocol:core' version='1.0' type='mytype'><br>
<parameters><br>
<param1>123</param1><br>
<param2>456</param2><br>
</parameters><br>
</mynode><br>
<x xmlns='jabber:x:expire' seconds='15'/><br>
</message><br>
<br>
for some reason my regex doesn't work correctly :<br>
<br>
r"(<message .*?>).*?(<mynode .*?>).*?(?:(<parameters>.*?</parameters>)|<parameters/>)?.*?(<x .*/>)?"<br>
<br></blockquote><div><br>If all you need is to remove payload node ,this could be useful,<br> <br></div></div>s1="<message xmlns='jabber:client' to='<a href="mailto:node@host.com">node@host.com</a>'><mynode xmlns='myprotocol:core' version='1.0' type='mytype'><parameters><param1>123</param1><param2>456</param2></parameters><payload type='plain'>...</payload></mynode><x xmlns='jabber:x:expire' seconds='15'/></message>"<br>
<br>pat=re.compile(r"<payload.*<\/payload>")<br>s1=pat.sub("",s1)<br><br clear="all"><br>-- <br>Regards,<br>S.Selvam<br>