
26 Jun
2009
26 Jun
'09
6:17 p.m.
Xiangjun Wu <netawater@gmail.com> writes:
(cl-ppcre:scan (cl-ppcre:create-scanner "(_\\w+)*\\@\\w+") "______________________________________" :start 0)
Perhaps (cl-ppcre:create-scanner "(_[_\\w]+)?@\\w+") will work for your app? The problem in the original expression is the "+" followed by the "*" can lead to a combinatorial explosion. If you loosen the requirement that all non-zero matches in the first expression must begin with an "_" you could have: (cl-ppcre:create-scanner "[_\\w]*@\\w+") Cheers, Chris Dean