Задачу не понял, нужно больше примеров.
Для не строгого сравнения строк придумали кучу алгоритмов, например
Levenshtein, готовые реализации есть для кучи языков, гугли есть и для javascript. По факту это количество изменений, которые нужно сделать с первой строкой, чтобы превратить ее во вторую.
В некоторых реализациях (например на php) вводят разную оценку на разные действия типа вставки, замены и удаления. Т.е. если сделать стоимость вставки и удаления сильно меньше замены, возможно ты получишь желаемое.. или модифицировать алгоритм до своих хотелок.
p.s.
суффиксное дерево, смотри там пример использования для поиска подстроки, это если у тебя БОЛЬШИЕ строки, эта структура поможет решать задачи похожие на твою