In order to fix issue of montezuma, <a href="http://code.google.com/p/montezuma/issues/detail?id=3">http://code.google.com/p/montezuma/issues/detail?id=3</a>, I suppose I found a bug of cl-ppcre.<br><br>CL-USER> (cl-ppcre:scan<br>
              (cl-ppcre:create-scanner<br>                 "(\\w+)*\\@\\w+") "______________________________________"<br>                          :start 0)<br>;; Evaluation aborted.<br><br>It hangs when the number of underscore hit a critical value. <br>
I speculate that '\w' includes underscore in regular expression would account for this<br>bug. and replace with other character of '\w' also has this problem.<br><br>CL-USER> (cl-ppcre:scan (cl-ppcre:create-scanner<br>
               "(a\\w+)*\\@\\w+") "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"<br>               :start 0)<br>;; Evaluation aborted.<br><br>but if I eliminate the last \w, it is OK.<br>CL-USER> (cl-ppcre:scan<br>
              (cl-ppcre:create-scanner<br>                 "(_\\w+)*\\@") "_______________________________________"<br>                          :start 0)<br>NIL<br><br>I also check it in perl, Maybe perl is more efficient in regular expression operation, I raise the number of<br>
underscores, but it is OK.<br><br>$str = "john._______________________________________<br>__________________________________";<br><br>if ($str =~ m/(_*\w+)*\@\w+/)<br>{<br>   print "ok\n";<br>}<br><br>
Please check it and give your comment.<br><br clear="all">片云天共远永夜月同孤<br>