i just learned lookahead in regular expression, but there is one detail that is bugging me:
% set test abcdehehfkdehemno
% regexp {([^ ])*.} $test match
1
% set match
abcdehehfkdehemno
% regexp {((?=dehe).)*.} $test match
1
% set match
a
why the ([^ ])* is greedy and the ((?=dehe).)* is not, i expect the lookahead version return m instead a ?