Я использую Dynamic Hotstrings как часть моей реализации AutoHotkey. Это был неоценимый инструмент в изучении регулярных выражений.

В настоящее время я интенсивно использую его для расширения текста в моих ежедневных процессах в офисе. У меня, однако, возникают проблемы с программным обеспечением для обработки текста при использовании форматирования текста. В случае, если я выделю жирным шрифтом, выделю курсивом или иным образом предоставлю модификацию формата в начале строки, которая в противном случае раскрылась бы, она не будет расширена, поскольку управляющий символ является частью строки. Я использовал \b в качестве начального переключателя в своем регулярном выражении.

Я смотрю, есть ли в мире регулярных выражений ярлык для учета таких персонажей, не перечисляя их вручную. Такое существует?

Если нет, то есть ли полезная ссылка на все управляющие символы, которые мне нужно учитывать в MS Word?

Спасибо за ваше время.

2 ответа2

1

С примером, который вы дали в комментариях, я бы посоветовал просто удалить \b в начале. Это, конечно, не оптимально, и может вызвать расширение, когда вы этого не хотите, но как часто вы набираете слова, заканчивающиеся на "oic"?

Более элегантным решением было бы иметь что-то вроде этого:

hotstrings("([^a-zA-Z])oic"tailchar,"%$1%Officer in Charge (OIC)%$2%")

Но, к сожалению, я не могу проверить это, так как не могу заставить DynamicHotstring работать:/

0

Регулярные выражения могут обрабатывать только то, что вы установили для обработки. Они не предполагают, что у вас жирный шрифт или какой-либо другой символ форматирования. Вам нужно будет включить эти символы в ваше регулярное выражение, если вы собираетесь их запечатлеть.

Пример:

/\bsomething\b/

Создание жирного шрифта необязательно на любом конце:

/\b\u0002*something\u0002*\b/

Я бы посмотрел, есть ли способ удалить их в используемой вами программе. Единственный способ избежать использования самих символов - это если программа удалит их, прежде чем попытаться сопоставить регулярное выражение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .