解密带有嵌套重复的正则表达式
PHP
Hard
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