Форум » BUGS » Непонятные проблемы с выражением "обломок стены" » Ответить

Непонятные проблемы с выражением "обломок стены"

odinokiyklaus: Всех приветствую. Обнаружил непонятные проблемы при проверке выраджения со словом стены<. По порядку: Отключаю все словари и завожу новый 0000 проверка.dic, в котором помещаю правила #облом* стены=обло<м стеныъ< $облом* стены=обло<м стеныъ< Добавляю новый текст с одной строчкой обломок стены В режиме отладки словарей выражение обломок стены не обрабатывается. [more][/more] Соответственно и в режиме чтения текста выражение обломок стены читается как обломок сте<ны Что можно сделать? Кстати, в новой версии 2.0.11.02 beta настройки шрифтов в программе не сохраняются. Может это можно как-нибудь исправить (у меня на работе монитор 22 дюйма и на нем шрифт Arial 8 смотрится ну совсем мелко)?

Ответов - 7

Cminant: так и не должны срабатывать. Звездочки в упрощенном синтаксисе можно использовать только в начале и в конце шаблона, в режиме рег выражений они работают по другому: [pre2]#облом* стены=обло<м стеныъ< [/pre2] звездочка после "м" = 0 или более знаков, т.е. найдется "обло стены", "облом стены", "обломммммммммммммммммммм стены" но не "обломок стены" следует использовать рег выражение вида [pre2]#(?i)(?<=облом\w* )стены=стены<ъ[/pre2] \w = любая буква, цифра, или знак подчеркивания либо ограничить только русскими буквами: [pre2]#(?i)(?<=облом[а-яё]* )стены=стены<ъ[/pre2] (буква ё не входит в диапазон [а-я], так что её следует добавлять отдельно в перечислении... [pre2]$облом* стены=обло<м стеныъ< [/pre2] Это вообще работать не будет, как уже писал выше, в правилах с упрощенным синтаксисом "звёздочки" можно использовать только в начале, или в конце шаблона. В середине они воспринимаются как обычный символ. odinokiyklaus пишет: Кстати, в новой версии 2.0.11.02 beta настройки шрифтов в программе не сохраняются. Может это можно как-нибудь исправить (у меня на работе монитор 22 дюйма и на нем шрифт Arial 8 смотрится ну совсем мелко)? хм.. а в каком окне? У меня вроде везде, где есть настройка шрифта он сохраняется при перезапуске. Другое дело, что в редакторе словарей в поле ввода шаблона, как и в "текстовом режиме", теперь используется FastColoredTextBox, а он работает только с моноширинными шрифтами (courier, lucida console и др...) В следующей версии верну возможность использовать стандартный текстбокс с таким же шрифтом, как и в списке, но без подсветки синтаксиса...

MoppoH: Cminant пишет: #(?i)(?<=облом\w* )стены=стены<ъ \w = любая буква, цифра, или знак подчеркивания либо ограничить только русскими буквами: #(?i)(?<=облом[а-яё]* )стены=стены<ъ минус в таком рег выражение что он заменит обломившиеся сте'ны на обломившиеся стены<ъ

odinokiyklaus: Cminant пишет: Это вообще работать не будет, как уже писал выше, в правилах с упрощенным синтаксисом "звёздочки" можно использовать только в начале, или в конце шаблона. В середине они воспринимаются как обычный символ. Спасибо. Век живи век учись. Cminant пишет: хм.. а в каком окне? У меня вроде везде, где есть настройка шрифта он сохраняется при перезапуске. Да, действительно, шрифты не сохраняются в режиме отладка словарей. Спасибо огромное!


elau: трёхколёсный. первая ё произносится как е

Cminant: трёхколёсный. первая ё произносится как е Это особенность движка Nicolai. В подобных случаях можно разбивть слово на две части пробелом или дефисом: [pre2]трёхколесный=трёх-колёсный[/pre2] или добавить универсальное правило: [pre2]#(?i)\B[её]хкол[её]сн\B=ёх-колёсн[/pre2]

elau: Понял. спасибо.

MoppoH: я использую трех*=трёх- в основном слова такие состоят из двух разных



полная версия страницы