В ходе работы над проектом почувствовал что мне необходим незамысловатый механизм для сравнения строк одновременно с возможностями, близкими к регэкспам и в то же время умеющие нечётко сравнивать строки. Ну вообще идеально если бы ещё настройки на мелкие особенности языка были.
Т.е. например задаем выражение вроде:
(остров | о-в | о) + (зел | зеленого) + мыса
И с его помощью определяем что строчки типа
преплыли на острав зилёного мысу
адрес о-ва зел. мыс. ул. Ф.Кастро
содержат нужную фразу (и находим вероятную позицию а также степень соответствия).
Я поискал подходящую библиотечку для java, но пока что-то не повезло. Временно написал собственную реализацию и потихоньку пользуюсь, но если бы нашлось что-то готовое и качественное, предпочёл бы...
P.S. TRE в dll-ку собрать и вызывать через JNI не предлагать... Проект кроссплатформенный и все такое...
Т.е. например задаем выражение вроде:
(остров | о-в | о) + (зел | зеленого) + мыса
И с его помощью определяем что строчки типа
преплыли на острав зилёного мысу
адрес о-ва зел. мыс. ул. Ф.Кастро
содержат нужную фразу (и находим вероятную позицию а также степень соответствия).
Я поискал подходящую библиотечку для java, но пока что-то не повезло. Временно написал собственную реализацию и потихоньку пользуюсь, но если бы нашлось что-то готовое и качественное, предпочёл бы...
P.S. TRE в dll-ку собрать и вызывать через JNI не предлагать... Проект кроссплатформенный и все такое...