/* package whatever; // don't place package name! */
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) { "*text*\n" +
"~Text~\n" +
"`Text`\n" +
"_Text_\n" + // is it only matching the first one?
"``` Text ```\n" +
"\\(Text\\)\n" +
"~Text~\n";
System.
out.
println(process
(example
)); }
String processed
= input.
replaceAll("\\b_[^_]+_\\b",
"underscore") .replaceAll("\\B\\*[^*]+\\*\\B", "star")
.replaceAll("\\B```.+?```\\B", "backticks")
.replaceAll("\\B~[^~]+~\\B", "tilde")
.replaceAll("\\B`[^`]+`\\B", "tick")
.replaceAll("\\B\\\\\\(.*?\\\\\\)\\B", "backslashparen");
return processed;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgewoJICAgIFN0cmluZyBleGFtcGxlID0gIl9UZXh0X1xuIiArCgkgICAgICAgICAgICAiKnRleHQqXG4iICsKCSAgICAgICAgICAgICJ+VGV4dH5cbiIgKwoJICAgICAgICAgICAgImBUZXh0YFxuIiArCgkgICAgICAgICAgICAiX1RleHRfXG4iICsgICAgIC8vIGlzIGl0IG9ubHkgbWF0Y2hpbmcgdGhlIGZpcnN0IG9uZT8KCSAgICAgICAgICAgICJgYGAgVGV4dCBgYGBcbiIgKwoJICAgICAgICAgICAgIlxcKFRleHRcXClcbiIgKwoJICAgICAgICAgICAgIn5UZXh0flxuIjsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4ocHJvY2VzcyhleGFtcGxlKSk7Cgl9CgkKCXByaXZhdGUgc3RhdGljIFN0cmluZyBwcm9jZXNzKFN0cmluZyBpbnB1dCkgewogICAgICAgIFN0cmluZyBwcm9jZXNzZWQgPSBpbnB1dC5yZXBsYWNlQWxsKCJcXGJfW15fXStfXFxiIiwgInVuZGVyc2NvcmUiKQogICAgICAgICAgICAucmVwbGFjZUFsbCgiXFxCXFwqW14qXStcXCpcXEIiLCAic3RhciIpCiAgICAgICAgICAgIC5yZXBsYWNlQWxsKCJcXEJgYGAuKz9gYGBcXEIiLCAiYmFja3RpY2tzIikKICAgICAgICAgICAgLnJlcGxhY2VBbGwoIlxcQn5bXn5dK35cXEIiLCAidGlsZGUiKQogICAgICAgICAgICAucmVwbGFjZUFsbCgiXFxCYFteYF0rYFxcQiIsICJ0aWNrIikKICAgICAgICAgICAgLnJlcGxhY2VBbGwoIlxcQlxcXFxcXCguKj9cXFxcXFwpXFxCIiwgImJhY2tzbGFzaHBhcmVuIik7CgogICAgCXJldHVybiBwcm9jZXNzZWQ7Cgl9Cgp9