На тексте необходимо проводить замены. Делаю в php через preg_replace:
$text = preg_replace("/{{{data[\|\d*]?}}}/i", "Какой то текст", "{{{data|5}}} {{{data}}}");
При таком выражении или "{{{data[\|\d*]{0,1}}}}/i" находит только "{{{data}}}",
Если ставлю "/{{{data[\|\d*]+}}}/i" или "/{{{data[\|\d*]*}}}/i", то находит только "{{{data|5}}}".
Нужно, чтобы находило оба. Вроде задачка элементарная, а заставить работать никак не получается. :(
upd: Прошу прощения. "/{{{data[\|\d*]*}}}/i" - работает как надо, но мне нужно не более одного повторения группы символов [\|\d*]!