[devel] Q: Проверка спека на присутствие макроса.

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Авг 12 02:15:33 MSD 2008


On Tue, Aug 12, 2008 at 02:00:59AM +0400, Aleksey Avdeev wrote:
> Alexey Tourbin пишет:
> >On Tue, Aug 12, 2008 at 01:48:36AM +0400, Aleksey Avdeev wrote:
> >>  Решая задачу проверки использования 
> >>  (не объявления) макроса в спеке 
> >>  нарисовал такое регулярное выражение 
> >>(для egrep):
> >>
> >>'%(<макрос>($|[^[:alnum:]_])|([{](<макрос>[}]|(|!)\?<макрос>[:}])))'
> >>
> >>  Вопросы:
> >>
> >>1. Все ли случаи я учёл?
> >
> >%% работает как escape для %.
> 
>   Тогда:
> 
> '(^|[^%])%(a_b($|[^[:alnum:]_])|([{](a_b[}]|(|!)\?a_b[:}])))'

Контрпример: %%%_libdir.  Если привязываться регулярным выражением
к первому "%", то потребуется неограниченный look-behind: значащему
знаку "%" должно предшествовать четное количетво знаков "%".
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080812/4ec2cab6/attachment-0002.bin>


Подробная информация о списке рассылки Devel