I've noticed that text editors and such have a more-than-prefix/suffix-based pattern matching algorithm going on behind the scenes. And StackOverflow's tag matching algorithm does more than just prefix/suffix matching:
I am wondering what (one of the possibly many sorts) of data structures are required to implement this sort of feature. I have been reading about tries, but they seem to be better at prefix matching, and I'm not quite sure exactly the type of matching going on on the SO tags autocomplete. However, looking at autocomplete implementation recommendations usually suggests tries.
Wondering if one could briefly outline how it is done. Knowing even what the data structures or types of algorithms are called would help better search for the details.
This is for relatively small strings of say less than 1000 characters or perhaps less than 200 if it makes a bigger difference.