|
|
|
| выражение необходимо для настройки спамассассина.
идет много спама в формате
[5 букв(русских)/цифр][7пробелов][текст]
и такая строка 5-7 раз.
376ГТ _пробелы_ текст,текст,текст,
НД408 _пробелы_ текст,текст,текст,
515СЦ _пробелы_ текст,текст,текст,
45ГС1 _пробелы_ текст,текст,текст,
5ЗЛ33 _пробелы_ текст,текст,текст,
253ИЕ _пробелы_ http://итд.
проверить одну строку можно,к примеру, так
/\b[0-9,\xC0-\xFF]{5,5}\x20{5,}[0-9,\xC0-\xFF]{3,}/
Подскажите, как написать одной строкой проверку, что данная конструкция в тексте встречается не менее N раз (к примеру 4) | |
|
|
|
|
|
|
|
для: wick
(21.08.2008 в 17:07)
| | preg_match_all возвращает количество вхождений
Возвращает количество найденных вхождений шаблона (может быть нулем) либо FALSE, если во время выполнения возникли какие-либо ошибки
|
| |
|
|
|
|
|
|
|
для: GeorgeIV
(21.08.2008 в 17:40)
| | спасибо за ответ, но, к сожалению, там нельзя использовать функцию. | |
|
|
|
|
|
|
|
для: wick
(21.08.2008 в 17:54)
| | не понял? а как можно тогда проверить один раз без использования функций? | |
|
|
|
|
|
|
|
для: GeorgeIV
(21.08.2008 в 18:28)
| | ну, к примеру, можно так:
/\b[0-9,\xC0-\xFF]{5,5}\x20{5,}[[:print:]?]{3,}[\x0A|\x0D]{1,}\b[0-9,\xC0-\xFF]{5,5}\x20{5,}[[:print:]?]{3,}[\x0A|\x0D]{1,}\b[0-9,\xC0-\xFF]{5,5}\x20{5,}[[:print:]?]{3,}[\x0A|\x0D]{1,}\b[0-9,\xC0-\xFF]{5,5}\x20{5,}[[:print:]?]{3,}/
но длинно, не красиво, и самое главное при проверке вроде как работает,
а в спамассасине не срабатывает почему-то : ( | |
|
|
|