2013-12-06 2 views
0

Мы используем шаблон PCRE в нашем коде на C, чтобы выполнить сопоставление. Мы продолжаем добавлять шаблоны, и теперь он пересек 1024 символа. Теперь PCRE не загружает этот ключ вообще.PCRE не поддерживает шаблоны более 1024 длины в C

Есть ли какие-либо ограничения на PCRE, как указано выше?

Что все это альтернативы?

Цените свою поддержку.

Спасибо, Mathew Liju

+2

Все, что я нашел - '12.9 Ограничения В PCRE существуют некоторые ограничения по размеру, но есть надежда, что они никогда на практике не будут актуальны. Максимальная длина скомпилированного шаблона - 65539 (sic) байтов. Все значения в повторяющихся квантификаторах должны быть меньше 65536. Максимальное количество подматриц захвата составляет 99. Максимальное количество всех подшаблонов в скобках, включая захват подшаблонов, утверждений и других типов подшаблонов, составляет 200. 'из http: // users -cs.au.dk/beta/Manuals/latest/basiclib/pcre.html – RedX

+0

И 'Максимальная длина скомпилированного шаблона составляет 65539 (sic) байтов, если PCRE скомпилирован с размером внутренней привязки по умолчанию, равным 2. Если вы хотите, чтобы обрабатывали регулярные выражения, которые поистине огромны, вы можете скомпилировать PCRE с внутренним размером связи 3 или 4 (подробности см. в файле README в в документации источника и документации pcrebuild). В этих случаях предел существенно больше. Тем не менее, скорость исполнения выполняется медленнее. 'From http://man.he.net/man3/pcre – RedX

+0

Для чего вам нужны шаблоны длиной более 1024 символов? – Artur

ответ

0

Как уже упоминалось, мы разделили регулярное выражение на более мелкие куски и решены.

Ценим для комментариев.

Смежные вопросы