I would expect that you can just count the number of ';' instances in the string, and get the index of the last instance which resides after the last instance of the last single or double quote.  If there are no quotes, then it's the first instance of ';'.<br>
<br><div class="gmail_quote">On Wed, Mar 9, 2011 at 4:14 PM, Uri Guttman <span dir="ltr"><<a href="mailto:uri@stemsystems.com">uri@stemsystems.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;">
>>>>> "RJ" == Rob Janes <<a href="mailto:janes.rob@gmail.com">janes.rob@gmail.com</a>> writes:<br>
<br>
  RJ> i recall some compsci proof that regex cannot do nested pattern<br>
  RJ> matching, like (xxx) or (xxx (yyy) zzz).  for that you need a lalr<br>
  RJ> parser, something like recdescent or whatever.<br>
<br>
that is true for pure regexes. perl's latest can match nested pairs. it<br>
isn't trivial but the feature is in there and documented. regardless,<br>
this problem is very easy to solve with text::balanced and some basic<br>
code. just a single regex is the wrong solution.<br>
<div class="im"><br>
uri<br>
<br>
--<br>
Uri Guttman  ------  <a href="mailto:uri@stemsystems.com">uri@stemsystems.com</a>  --------  <a href="http://www.sysarch.com" target="_blank">http://www.sysarch.com</a> --<br>
-----  Perl Code Review , Architecture, Development, Training, Support ------<br>
---------  Gourmet Hot Cocoa Mix  ----  <a href="http://bestfriendscocoa.com" target="_blank">http://bestfriendscocoa.com</a> ---------<br>
_______________________________________________<br>
</div><div><div></div><div class="h5">toronto-pm mailing list<br>
<a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br>
</div></div></blockquote></div><br>