Например, у меня есть текст ниже
некоторые {}} снаружи, а некоторые внутри $ aa {bb} cc {{dd} ee} ff $ и еще немного $ aa {bb}cc {{dd} ee} ff $ здесь.
Я называю $
символом флага, и теперь я хочу заменить все {
или }
между парами $...$
с помощью регулярных выражений.
Единственный способ, которым я могу придумать, - это заменить несколько раз, используя регулярное выражение
(\$.*?)(\{|\})
каждый раз, когда он заменяет {
или }
внутри $...$
.После достаточного времени замены мы получили
некоторые {}} снаружи, а некоторые внутри $ aabbccddeeff $ и еще несколько $ aabbccddeeff $ здесь.
Недостаток:что вы не знаете, сколько раз ему нужно полностью заменить {
или }
, и это, по-видимому, вообще неэффективно.
Так что мне интересно, способен ли регулярное выражение сделать это водиночный забег?Для регулярного выражения я имею в виду совместимость с Perl.Но если Perl не может сделать это, я хотел бы знать, может ли другой вкус регулярных выражений.