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