<div class="gmail_quote">On Sat, Jun 4, 2011 at 00:46, Eli Barzilay <span dir="ltr">&lt;<a href="mailto:eli@barzilay.org">eli@barzilay.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">15 minutes ago, Rodolfo Carvalho wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; Since I&#39;m on regexps... next message!<br>
&gt;<br>
&gt; I couldn&#39;t find a way to match groups.<br>
&gt; I&#39;d like to have something like this:<br>
&gt;<br>
&gt; (define t &quot;<br>
&gt; 23                12<br>
&gt; 15                45<br>
&gt; 32                27&quot;)<br>
&gt; (regexp-match-groups* #px&quot;(\\d+)\\s+(\\d+)&quot; t)<br>
&gt;<br>
&gt; =&gt; &#39;((&quot;23&quot; &quot;12&quot;) (&quot;15&quot; &quot;45&quot;) (&quot;32&quot; &quot;27&quot;))<br>
&gt;<br>
&gt; Does such a thing exist?<br>
<br>
</div>No.  You can do this:<br>
<br>
  (regexp-match* #px&quot;(\\d+)\\s+(\\d+)&quot; t)<br>
<br>
where regexp-match gives you all of the complete matches, but not the<br>
matched groups.  It could be added, but it seems like a questionable<br>
extension.<br>
<div class="im"><br></div></blockquote><div><br></div><div><br></div><div><br></div><div><br></div><div>So then how useful are groups? Only to re-match them?</div><div>Like &quot;(quack)\\1&quot;...</div><div><br></div><div>

<br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
<br>
&gt; I am trying to parse the output from a HPL benchmark result, which is<br>
&gt; composed by many blocks of the following:<br>
&gt;<br>
&gt; T/V                N    NB     P     Q               Time<br>
&gt; Gflops<br>
&gt; --------------------------------------------------------------------------------<br>
&gt; WR00L2L4       29293   256     2     4             535.64<br>
&gt;  3.129e+01<br>
&gt; --------------------------------------------------------------------------------<br>
&gt; ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0034782 ......<br>
&gt; PASSED<br>
&gt; ================================================================================<br>
&gt;<br>
&gt;<br>
&gt; Maybe there is a better way other than using regexps?<br>
<br>
</div>Why not read it line-by-line, then parse each line with a regexp?<br></blockquote><div><br></div><div><br></div><div>I wouldn&#39;t be a bad idea. I can filter-out non-matching lines and split the rest... oh yes, since I have things split by spaces I can use regexp-split  :)</div>

<div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
<br>
&gt; Actually it would be nice to have some kind of reader that know how to read<br>
&gt; and convert &quot;3.129e+01&quot; from scientific notation to regular number which I<br>
&gt; could operate with.<br>
<br>
</div>-&gt; (read (open-input-string &quot;3.129e+01&quot;))<br>
31.29<br><br></blockquote><div><br></div><div>And is there a way to integrate that with reading the output from the regexp?</div><div>Something like a &quot;scanf&quot;? </div><div><br></div><div>Ok, don&#39;t tell me, I will figure out in the next minutes :D</div>

<div><br></div><div>[]&#39;s</div><div><br></div><div>Rodolfo Carvalho</div></div><br>