<br clear="all">片云天共远永夜月同孤<br>
<br><br><div class="gmail_quote">On Sat, Jun 27, 2009 at 2:17 AM, Chris Dean <span dir="ltr"><<a href="mailto:ctdean@sokitomi.com">ctdean@sokitomi.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;">
<div class="im"><br>
Xiangjun Wu <<a href="mailto:netawater@gmail.com">netawater@gmail.com</a>> writes:<br>
> (cl-ppcre:scan<br>
>               (cl-ppcre:create-scanner<br>
>                  "(_\\w+)*\\@\\w+") "______________________________________"<br>
>                           :start 0)<br>
><br>
<br>
<br>
</div>Perhaps<br>
<div class="im"><br>
  (cl-ppcre:create-scanner "(_[_\\w]+)?@\\w+")<br>
<br>
</div>will work for your app?  The problem in the original expression is the<br>
"+" followed by the "*" can lead to a combinatorial explosion.<br>
<br>
If you loosen the requirement that all non-zero matches in the first<br>
expression must begin with an "_" you could have:<br>
<div class="im"><br>
  (cl-ppcre:create-scanner "[_\\w]*@\\w+")<br>
<br>
</div>Cheers,<br>
<font color="#888888">Chris Dean<br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
cl-ppcre-devel site list<br>
<a href="mailto:cl-ppcre-devel@common-lisp.net">cl-ppcre-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/mailman/listinfo/cl-ppcre-devel" target="_blank">http://common-lisp.net/mailman/listinfo/cl-ppcre-devel</a><br>
</div></div></blockquote></div><br>Thank you, it works for our application.<br>