понедельник, 21 июля 2008 г.

Регулярные выражения в Word

На форуме программистов Весельчак У нашел полезную инфу - в Ворде есть регулярные выражения, которые можно использовать в при поиске/подстановке. Разумеется , они не такие мощные, как в Perl.

Вот ссылка на хорошую статью по теме:
Finding and replacing characters using wildcards

http://word.mvps.org/FAQs/General/UsingWildcards.htm

Пара замечаний:
Microsoft пользуется термином wildcarts вместо regular expressions. В русской версии Word -а в окне Cntrl-F надо поставить галочку напротив строчки "подстановочные знаки ". Поди, догадайся...

В упомянутой статье сказано, что строчка
[0-9]{1,2}
ищет последовательность из одной или двух цифр. Так вот, Word не понимает такой шаблон, надо ставить точку с запятой, вместо запятой.

Если мы ищем такую последовательность, заключенную в скобки - номер формулы - то надо написать
\([0-9]{1;2}\),
Если т.к. круглые (и квадратные) скобки - считаются спецсимволами при включенных "подстановочных знаках ".

Вот мы уже и привыкли к лесенке до 7 и обратно на турниках.


1 комментарий:

Олександр Вітер комментирует...

В упомянутой статье сказано, что строчка
[0-9]{1,2}
ищет последовательность из одной или двух цифр. Так вот, Word не понимает такой шаблон, надо ставить точку с запятой, вместо запятой.


Это зависит от региональных настроек вашей операционной системы. Если у Вас в качестве десятичного разделителя указана точка, то это выражение будет работать. Но для русских Windows по умолчанию в качестве десятичного разделителя принимается запятая, поэтому аргументы нужно разделять точкой с запятой.