slightly improve regex by subbing {0,1} => ? and {1,} => +
add horrendous regex to cite completions
don't clobber the match() function