vbukv - Угадывалка слов по буквам
$ vbukv -f slovar.txt -l 5 б3 ю-4 ш+
Прочитан словарь: slovar.txt (157133 слов)
Предположения:
---------------------------------
дебош
шабаш
шабер
шабёр
шабли
шибер
шибко
шибче
шобла
шубат
шубка
---------------------------------
Найдено предположений: 11
Программа ищет слово (или слова) в словаре по заданным правилам. Например: "слово из пяти букв, третья буква Б, четвёртая не Ю и где-то в слове есть буква Ш".
Usage: vbukv [OPTIONS] [RULE]...
-
<RULE>— Правило поиска (можно задать любое количество правил).Правила — это фильтры, которые говорят программе, какие слова следует выбрать из словаря. Выбираются только те слова, которые соответствуют ВСЕМ заданным правилам.
Каждое правило должно соответствовать шаблону:
L[C][P]где:
L — буква
C — условие; по умолчанию
+Возможны 4 условия:
+— буква есть в слове (либо, если позиция указана, то есть на указанной позиции)-— буквы нет в слове (либо, если позиция указана, то нет на указанной позиции)=— буква есть только на указанной позиции и нигде больше*— буква есть на любой позиции, кроме указаннойP — позиция буквы в слове
Если позиция не указана, то поиск происходит по всему слову.
Позиция обязательно должна быть указана для условий
=и*.Примеры правил:
а— в слове есть буквааа+— то же самое, что предыдущий вариант, но условие задано явноа1— первая буква в слове это букваа. При этом в слове могуть быть ещё буквыана других местах.а+1— то же самое, что предыдущий вариант, но условие задано явноа=1— первая буква в слове это букваа. При этом в слове нет других буква.б-— в слове нет буквыбб-1— первая буква в слове это не букваб. При этом в слове могут быть буквыбна других местахб*1— первая буква в слове это не букваб. При этом в слове есть буквабна каком-то другом месте.
-
-l,--length <LENGTH>— Длина искомого слова.Будут найдены только те слова, которые состоят из указанного количества букв.
Default value:
5 -
-f,--file <FILE>— Файл словаря.Относительный путь к файлу словаря. Словарь должен быть в формате plain text, одно слово в строке, кодировка utf-8.
Default value:
slovar.txt
Программа не включает в себя словарь. Словарь должен быть загружен отдельно из какого-то стороннего источника.
Для проверки работоспособности программы можно использовать тестовый словарь. В нём всего десяток слов, но для проверки программы этого достаточно.
TODO Возможно, имеет смысл разместить готовый полноразмерный словарь в этом же репозитории...