2014-02-07 2 views
0

У меня есть текстовый файл, который состоит из огромного списка слов ... А то у меня есть сокращенный вариант словаИспользование регулярных выражений, как сократить слово до более точного матча

Пример MTHR должна стать мать и не motherlessness

Используя регулярное выражение, мне нужно ТОЛЬКО вернуть согласные, которые находятся в сокращенном слове «MTHR» и больше ничего ... Делать что это принесет b ack более точное слово.

Кто-нибудь знает, как это сделать? Я застрял в этой части большую часть дня.

Благодаря

+1

Вы спрашиваете, как перейти от 'mother' к' mthr', или найти 'mother' в списке слов, указанном' mthr'? – Barmar

+0

Мне нужно использовать слово ** mthr **, чтобы найти в списке слов самое близкое совпадение с ** mother ** и не 7 других слов, относящихся к нему .. @Barmar – escGoat007

+0

Я бы посмотрел запись блога Питера Норвига, Как написать корректор орфографии. http://norvig.com/spell-correct.html Он не использует регулярные выражения, как вы просите, но он показывает правильный алгоритм для решения проблемы. – hughdbrown

ответ

1

Регулярное выражение, что найдет mother когда дано сокращенное mthr является:

^[aeiou]*m[aeiou]*t[aeiou]*h[aeiou]*r[aeiou]*$ 

Т.е. с учетом аббревиатуры, поместите `[aeiou] *, который соответствует любой последовательности гласных, между каждой буквой и между начальными и конечными якорями и первыми/последними буквами.

Обратите внимание, что эта аббревиатура также будет соответствовать mauther, mether и mouther, если они в вашем списке слов.

Смежные вопросы