Как заменить совпадения с помощью Regexp::Grammars?

Я использую Regexp::Grammars искать и извлекать информацию из сложного текстового источника, но в конечном итоге я хочу также заменить этот источник. Есть ли способ сделать это, прямо или косвенно, используя Regexp::Grammars?

Например, предположим, у меня есть следующее определение:

use Regexp::Grammars;
qr {
    <[element]>*

    <rule: element> 
        <target> | <word> | <bracket>

    <rule: target> 
        <define> \( (<word>)* \)

    <token: define>
        define

    <token: word>
        \w+

    <token: bracket>
        [()]
}xm

Как бы я заменил все <target>с некоторой заменой, которая, скажем, является функцией от <word> между скобками?

0 ответов

Другие вопросы по тегам