Расшифровка регулярного выражения с вложенными повторениями
PHP
Сложный
regex
Задача «Расшифровка регулярного выражения с вложенными повторениями»
Дана строка, содержащая закодированное регулярное выражение в специальном формате: буквы латинского алфавита (a-z) и цифры (2-9) в круглых скобках, обозначающие количество повторений предыдущего символа или группы. Вложенные скобки разрешены. Необходимо раскрыть все повторения и вывести получившееся регулярное выражение в стандартной нотации (без скобок с числом, только символы и квантификаторы {n}). Например, 'a3' превращается в 'a{3}', '(ab)2' -> '(ab){2}', а '((a2)2b)2' -> '((a{2}){2}b){2}'. Гарантируется, что входная строка корректна, длина не превышает 1000 символов, глубина вложенности не более 10.
Формат ввода
Единственная строка S (1 ≤ |S| ≤ 1000), состоящая из строчных латинских букв, цифр 2-9 и круглых скобок.
Формат вывода
Одна строка — раскрытое регулярное выражение в стандартной нотации.
Примеры
Пример 1
ВВОД
a3
ВЫВОД
a{3}
Пример 2
ВВОД
0 0 4 0 0 3
ВЫВОД
{4} {3}
Пример 3
ВВОД
0
ВЫВОД
Пример 4
ВВОД
(ab)2
ВЫВОД
(ab){2}
Пример 5
ВВОД
1 1 4 5 7 1
ВЫВОД
{4} {5} {7}
main.php