Are there real lexers that use NFAs directly instead of first transforming them to DFAs?
I see only two applications of using an NFA (or rather its power automaton without writing it down) instead of a minimized DFA:


Homoiconic languages, where you may want to modify your lexer frequently
Strange syntax that may blow up your DFA like

identifier := [a-z][a-z0-9_]*
indices := [0-9_]{1,256} //up to 256 times
var := identifier "_" indices | identifier


If you take the last rule as a precedence, your lexer has to check whether an identifier contains "_" within the last 256 symbols and shorten it in this case.