Любой способ трактовать. * Как. {0,1024} в perl RE?

Мы разрешаем некоторые RE, предоставляемые пользователем, с целью фильтрации электронной почты. Ранее мы столкнулись с некоторыми проблемами производительности с RE, которые содержали, например, . * , при сопоставлении с произвольно большими электронными письмами. Мы нашли простое решение: s / \ * / {0,1024} / на пользовательском RE. Однако это не идеальное решение, так как оно нарушает следующий шаблон:

/[*]/

И вместо того, чтобы придумывать какой-то запутанный рецепт для учета всех возможных изменений вводимых пользователем RE, я хотел бы просто ограничить интерпретация Perl символов * и + должна иметь максимальную длину 1024 символа.

Есть ли способ сделать это?

6
задан Flimzy 15 December 2011 в 09:15
поделиться