#typescript #re2
Вопрос:
В проекте машинописи, использующем RE2, я надеюсь либо заменить несколько именованных групп напрямую, либо, по крайней мере, получить первый и последний индексы совпадений для нескольких именованных групп, чтобы я мог выполнить замену самостоятельно.
Представьте, что есть такая строка group: 'ant', name: 'ant', version: '1.4.1'
. Я хочу заменить там три строковых значения, но я не могу предположить, что порядок гарантирован, и я не могу предположить, что совпадение для одного из них не будет задано в строке ровно один раз. Поэтому я бы создал регулярное выражение с именованной группой захвата для группы, имени и номера версии, а затем заменил текущие значения другими.
Я не слишком хорошо знаком с RE2, поэтому я не знаю, существует replace
ли метод с обратным вызовом или что-то в этом роде, где имя группы является аргументом, с помощью которого я могу решить, какое значение заменить. Если нет, то если бы я, по крайней мере, знал для каждой именованной группы, где они начинаются и заканчиваются в исходной строке, тогда я мог бы придумать свой собственный алгоритм, чтобы нарезать, вставить и придумать новую строку таким образом.