[^\P{P}-]+
\P
является дополнением к\p
, а не пунктуацией. Таким образом, это соответствует любому, что есть not (не пунктуация или тире), в результате чего все знаки препинания, кроме тире.Пример: http://www.rubular.com / r / JsdNM3nFJ3
Если вы хотите не запутанный путь, альтернативой является
\p{P}(?: совместить все знаки пунктуации, а затем проверить, что это не тире (используя отрицательный lookbehind). Рабочий пример: http://www.rubular.com/r/5G62iSYTdk
Мне кажется, что вы можете отправлять параметры для связи на интерактивный уровень перед входом в цикл событий.
Или вы могли бы использовать библиотеки компиляторов для непосредственного управления повторением и чередования Toploop.execute_phrase
и Toploop.use_silently
.
Другим вариантом может быть запуск собственного процесса и использование dynlinking, а не загрузка файлов ml.