Продолжаем мучать любимую тему… в комментариях к предыдущим постам один из комментаторов задал вопрос: “Как сделать счетчик символов заграбленой статьи в Yahoo Pipes? как сделать чтобы статьи менее 1000 символов не грабились и не вставлялись в выходную rss-ленту (собственно из-за чего и нужен был счетчик)?”
А на самом деле всё очень и очень просто: для этого воспользуемся модулем Filter, который позволяет задать несколько правил для фильтрации и очень гибко её настроить… возможна фильтрация например по признаку наличия в содержимом предмета фильтрации какого-либо выражения или его отсутствия. Но в контексте заданного вопроса важно что при фильтрации в качестве правила можно задать регулярное выражение (да-да! я знаю вы их очень любите
).

Что делает этот фильтр? Он делает следующее: пропускает дальше в ленту только элементы ленты item.description которых описывается регулярным выражение “.{275,}“, где “.” – это любой символ, а то что находится в фигурных скобках {} – это квантификатор, который определяет сколько раз выражение (в данном случае “. ” – любой символ) может встречаться.
Квантификатор задается следующим образом:
- {m,n}
- общее выражение, повторений может быть
от m до n включительно - {m,}
- общее выражение,
m и более повторений - {,n}
- общее выражение,
не более n повторений - ?
- Знак вопроса означает
0 или 1 раз (то же самое, что и {0,1}) - *
- Звёздочка означает
0, 1 или любое число раз (то же самое, что и {0,}) - +
- Плюс означает
хотя бы 1 раз (то же самое, что и {1,}).
Таким образом, в показанном на рисунке примере фильтр пропускает в ленту только элементы в описании которых 275 и более символов.