<div dir="ltr"><div dir="ltr"><div dir="ltr">May be for a start someone can clarify the general rules of engagement in this battle with regex transformations.<div><a href="https://www.kamailio.org/wiki/cookbooks/5.1.x/transformations#resubst_expression">https://www.kamailio.org/wiki/cookbooks/5.1.x/transformations#resubst_expression</a><br><div><br></div><div>What kind of regex library does this function expect: PCRE, Perl, Java, POSIX BRE/ERE?</div></div><div>I've used all kinds of regex validators, <a href="http://regex101.com">regex101.com</a>, <a href="http://rexv.org">rexv.org</a>. Some expressions pass those but do not work in Kamailio. The result is a dump of the entire $rb.</div><div><br></div><div>Much obliged.</div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 29, 2018 at 1:33 PM Sergiu Pojoga <<a href="mailto:pojogas@gmail.com">pojogas@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi there,<div><br></div><div>May be some regex gurus can help me out. Being aware that regex's are tricky but not seeing another alternative in this particular case.</div><div><br></div><div>Trying to extract MOSLQ field from $rb.</div><div><br></div><div><div>$var(moslq) = $(rb{re.subst,/.*MOSLQ=([0-9].[0-9])\s+MOSCQ=([0-9].[0-9]).*/\1/s});<br></div><br class="m_3782162973484752567gmail-Apple-interchange-newline"></div><div>Above regex works fine IF body contains a single matching line. However, if there's 2 lines as in the below example - it return $var(moslq)=0.0, the last found value.</div><div><br></div><div>I need only <i>LocalMetrics </i>values, so I tried this regex which works fine in <a href="http://regex101.com" target="_blank">regex101.com</a> with flag 'multi-line' and <b>without flag 'global'</b>, but doesn't work in Kamailio.</div><div>$var(moslq) = $(rb{re.subst,/.*MOSLQ=([0-9].[0-9])\s+MOSCQ=([0-9].[0-9])[\nRemoteMetrics]?.*/\1/s});<br></div><div><br></div><div>Assuming $rb is as follows:</div><div><div>VQSessionReport</div><div><a href="mailto:CallID%3A1ca9258d285a539e3c1048205bf38d41@mypb.net" target="_blank">CallID:1ca9258d285a539e3c1048205bf38d41@mypb.net</a></div><div>LocalMetrics:<br></div><div>Timestamps:START=2018-10-29T15:04:38Z STOP=2018-10-29T15:06:13Z</div><div>QualityEst:EXTRI=127 MOSLQ=4.2 MOSCQ=4.4<br></div><div>RemoteMetrics:</div><div>Timestamps:START=2018-10-29T15:04:38Z STOP=2018-10-29T15:06:13Z</div><div>QualityEst:RCQ=0 EXTRI=0 MOSLQ=0.0 MOSCQ=0.0<br></div><div><br></div><div>Thanks in advance.</div><div><br></div></div></div></div></div></div></div></div>
</blockquote></div>