Задача №3604. $v_<любой индекс>$

Построить пару reg. exp.-ов для замены фрагментов вида \(v_\) (где "" — либо одна цифра или буква, либо последовательность букв и/или цифр, взятая в фигурные скобки) на v[тот же индекс]. Если букв и/или цифр много, а они не взяты в фигурные скобки, замену надо не делать.

«Честными» считаются только решения, использующие для каждой строки ровно одну регулярную замену. То есть, «сначала пройти по строке и позаменять только односимвольные индексы, а потом пройти по только что полученному результату ещё раз и позаменять только индексы, взятые в фигурные скобки» вообще-то является правильным решением, но именно здесь и сейчас считается читерством.

Рекомендуется решать задачу не «с нуля», а менять регулярные выражения (и только их) в следующей Java-программе:


import java.util.*;
import java.io.*;

public class Main {
// Изменять регулярное выражение здесь
static String regexp="a+b+c";
static String replacement="QQQ"; // и здесь

public static void main(String[] args) throws Exception{
Scanner in=new Scanner(System.in);
PrintWriter out=new PrintWriter(System.out);
String str;
while(in.hasNextLine() )
{
str=in.nextLine();
str=str.replaceAll(regexp, replacement);
out.println(str);
out.flush();
}
out.close();
}
}

Входные данные

Любой текст, состоящий из любого количества непустых строк. Все строки, включая последнюю, завершаются символом перевода строки. Все символы входного файла (кроме переводов строки) имеют ASCII-коды в диапазоне от 32 до 127.

Если отсылать указанную java-программу, меняя только регулярные выражения, об этом можно не беспокоиться — всё получится само.

Гарантируется, что во входных данных не будет фрагментов с непарными фигурными скобками внутри долларов (наподобие « \(v_{12}\) »). Но обратите внимание на последнее предложение в примере ввода/вывода.

Выходные данные

Текст, состоящий из того же количества строк, но с выполненной заменой.

Если отсылать указанную java-программу, меняя только регулярные выражения, об этом можно не беспокоиться — всё получится само.

Примечание

Не забывайте, что в джавовских строках (как и в сишных) бэкслэш имеет специальное значение, а чтобы ввести в джавовскую строку именно сам бэкслэш, его надо написать дважды. Например, если «любая цифра» обозначается в регулярном выражении как «\d», то в джавовской строке должно быть «\\d».

Примеры
Входные данные
Vertex $v_1$ is isolated ---
it's of degree 0.
Vertice $v_2$, $v_{7}$
and $v_{12}$ are terminal ---
each of them is of degree 1.
Note that $v_1u$ actually means
not $v_{1u}$ but ${v_1}u$,
so $v_1u$ should NOT be changed
to v[1u].
Выходные данные
Vertex v[1] is isolated ---
it's of degree 0.
Vertice v[2], v[7]
and v[12] are terminal ---
each of them is of degree 1.
Note that $v_1u$ actually means
not v[1u] but ${v_1}u$,
so $v_1u$ should NOT be changed
to v[1u].
Сдать: для сдачи задач необходимо войти в систему