Alexey Tourbin пишет: > 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: значащему > знаку "%" должно предшествовать четное количетво знаков "%". OK. Есть штатные средства для такой проверки? (Или можно ли заставить rpm -bM не проверять наличие сорцов?) -- С уважением. Алексей.