function M = length_atmost(k,localf) sigr = setreg([localf '@']); reg = repmat(sigr,1,k); M = gregexp2dfsa_fast(reg,localf); return function re = setreg(u) k=length(u); P=repmat('+',1,k); up = [u;P]; up = up(:)'; re = ['(' up(1:end-1) ')']; return