(PCRE) Немогу сосчитать точки :(

lissyara
Дата: 19.10.2006 22:43:45

Задача такая - сделать шаблон, совпадающий с четырьмя и более точками, разделёнными прописными символами (сравниваться будет с
именами хостов из DNS, а там ничего иного быть и не может)
Докатился до такого:
/usr/home/lissyara/>pcretest
PCRE version 6.7 04-Jul-2006

  re> /[\w\.]{4,}/
data> 1.1.1.1
 0: 1.1.1.1
data> 123
No match
data> 1234
 0: 1234
data> ^C
/usr/home/lissyara/>
Не пашет. Почему - понимаю. непонимаю как написать чтоб пахало.
Мануал по PCRE уже вдоль и поперёк изъездил
куда копать?

Posted via ActualForum NNTP Server 1.3

DocAl
Дата: 19.10.2006 23:30:18
  re> ~((?>\w+\.){4,})~
data> 1.1.1.1
No match
data> 1.1.1.1.
 0: 1.1.1.1.
 1: 1.1.1.1.
Почему так -- понятно, под свои нужды доработаешь напильником, не совсем понятно, что именно ты будешь отлавливать.)
oraweb
Дата: 20.10.2006 02:08:39
А если на Perle?
может
Net::DNS
Net::DNS::Resolver
поможет решить проблему?
lissyara
Дата: 20.10.2006 08:09:47

2 DocAl - спамеров ловлю...
За слишком уж длинное имя будут очки штрафные накидываться.
Некорректно, но большинство таких - спамеры.
2 oraweb
Это внутри конфига exim`a будет. Не хочется вызывать перл по несколько раз в
секунду...
Лучше штатными средствами обойтись.


Posted via ActualForum NNTP Server 1.3

ALex_hha
Дата: 28.10.2006 18:16:59
Точно такую же задачу решил на постфиксе. Если кому интересно

main.cf
smtpd_helo_restrictions = check_helo_access pcre:/etc/postfix/hello_access.pcre,
...
...
...

/etc/postfix/hello_access.pcre
/(\.(.*)){4,}/ REJECT Invalid hello

Проверяем работу
# postmap -q 1.1.1 pcre:/etc/postfix/hello_access.pcre
# postmap -q 1.1.1.1 pcre:/etc/postfix/hello_access.pcre
# postmap -q 1.1.1.1.1 pcre:/etc/postfix/hello_access.pcre
REJECT Invalid hello
# postmap -q 1.1.1.1.1.1 pcre:/etc/postfix/hello_access.pcre
REJECT Invalid hello
ALex_hha
Дата: 28.10.2006 19:19:18
автор
За слишком уж длинное имя будут очки штрафные накидываться.

а что будет тому, кто наберет больше всего очков, приз? ;)
DocAl
Дата: 29.10.2006 00:05:05
ALex_hha
автор
За слишком уж длинное имя будут очки штрафные накидываться.

а что будет тому, кто наберет больше всего очков, приз? ;)
Угу, arcmail bomb постмастеру...