input = "# Title\n## Subtitle\n### Subsubtitle\nLorem ipsum b(dolor) sit i(amet), consectetur u(adipisicing) elit"
regExes = {
h3: [/^### (.*)$/, "<h3>", "</h3>"],
h2: [/^## (.*)$/, "<h2>", "</h2>"],
h1: [/^# (.*)$/, "<h1>", "</h1>"],
b: [/\bb\((.*?)\)/, "<strong>", "</strong>"],
i: [/\bi\((.*?)\)/, "<i>", "</i>"],
u: [/\bu\((.*?)\)/, "<u>", "</u>"],
}
for index, regEx in regExes
actualNode = regExes[index]
#print actualNode, "\n"
input = input.gsub(actualNode[0], "#{actualNode[1]}\\1#{actualNode[2]}")
end
puts input
aW5wdXQgPSAiIyBUaXRsZVxuIyMgU3VidGl0bGVcbiMjIyBTdWJzdWJ0aXRsZVxuTG9yZW0gaXBzdW0gYihkb2xvcikgc2l0IGkoYW1ldCksIGNvbnNlY3RldHVyIHUoYWRpcGlzaWNpbmcpIGVsaXQiCgpyZWdFeGVzID0gewoKICAgIGgzOiBbL14jIyMgKC4qKSQvLCAiPGgzPiIsICI8L2gzPiJdLAogICAgaDI6IFsvXiMjICguKikkLywgIjxoMj4iLCAiPC9oMj4iXSwKICAgIGgxOiBbL14jICguKikkLywgIjxoMT4iLCAiPC9oMT4iXSwKICAgIGI6IFsvXGJiXCgoLio/KVwpLywgIjxzdHJvbmc+IiwgIjwvc3Ryb25nPiJdLAogICAgaTogWy9cYmlcKCguKj8pXCkvLCAiPGk+IiwgIjwvaT4iXSwKICAgIHU6IFsvXGJ1XCgoLio/KVwpLywgIjx1PiIsICI8L3U+Il0sCgp9Cgpmb3IgaW5kZXgsIHJlZ0V4ICBpbiByZWdFeGVzCgogICAgYWN0dWFsTm9kZSA9IHJlZ0V4ZXNbaW5kZXhdCiAgICAjcHJpbnQgYWN0dWFsTm9kZSwgIlxuIgogICAgaW5wdXQgPSBpbnB1dC5nc3ViKGFjdHVhbE5vZGVbMF0sICIje2FjdHVhbE5vZGVbMV19XFwxI3thY3R1YWxOb2RlWzJdfSIpCgplbmQKCnB1dHMgaW5wdXQ=