Я пытаюсь написать функцию регулярных выражений, которая будет идентифицировать и заменять один экземпляр соответствия внутри строки, не затрагивая другие экземпляры. Например, у меня есть эта строка:
12||34||56
Я хочу заменить второй набор труб на амперсанды, чтобы получить эту строку:
12||34&&56
Функция regex должна иметь возможность обрабатывать х количество труб и позволить мне заменить n-й набор труб, поэтому я мог бы использовать ту же функцию для этих замен:
23||45||45||56||67 -> 23&&45||45||56||67
23||34||98||87 -> 23||34||98&&87
Я знаю, что я мог бы просто разделить/заменить/конкатрировать строку в трубах, и я также знаю, что я могу сопоставлять на /\|\|/
и перебирать результирующий массив, но мне интересно узнать, возможно ли это напишите одно выражение, которое может это сделать. Обратите внимание, что это будет для Javascript, поэтому можно создать регулярное выражение во время выполнения с помощью eval()
, но не возможно использовать какие-либо специфические для Perl инструкции регулярных выражений.