I was able to using NFA to implement + and ? and ., but I\'m having hard time figuring out how to implement match-range {m,n}. F.e.:
a{1,3} (ab){2,4} .{,3}