import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\([\\w\\s].*[\\w\\s]\\)|\\(\\)) =>";
final String string = "var MODULE = ((my, $, undefined) => {\n\n"
+ " console.log('EXECUTION FROM LEGACY APP START ===>');\n\n"
+ " // if private var defined in my module, use that\n"
+ " // else create a private var\n"
+ " var _private = my._private = my._private || {},\n"
+ " _seal = my._seal = function seal(seal) {\n"
+ " if (!seal) {\n"
+ " return;\n"
+ " }\n\n"
+ " delete my._private;\n"
+ " delete my._seal;\n"
+ " console.log('SEALED');\n"
+ " },\n"
+ " _unseal = my._unseal = function unseal(unseal) {\n"
+ " if (!unseal) {\n"
+ " return;\n"
+ " }\n\n"
+ " my._seal = _seal;\n"
+ " my._private = _private;\n"
+ " console.log('UNSEALED');\n"
+ " };\n\n"
+ " var name = 'Tonny Frank';\n"
+ " _private.name = 'This is a private name: ' + name;\n\n"
+ " _private.reverse = function reverse(str) {\n"
+ " return str.split('').reverse().join('');\n"
+ " };\n\n"
+ " if ($ === undefined) {\n"
+ " console.log('jQuery not defined');\n"
+ " return;\n"
+ " }\n\n"
+ " $(() => {\n"
+ " var $h1 = $('.card').children('h1');\n"
+ " $h1.html(_private.reverse($h1.html()));\n"
+ " });\n\n"
+ " console.log(my);\n"
+ " my.myMethod = () => {\n"
+ " console.log('MODULE myMethod Executed');\n"
+ " $('.name').html('Abhisek ...');\n"
+ " $('button').click(function (ev) {\n"
+ " ev.preventDefault();\n"
+ " console.log(this);\n"
+ " $(this).html('Damn!');\n"
+ " });\n"
+ " };\n\n"
+ " console.log('EXECUTION FROM LEGACY APP END <===');\n\n"
+ " return my;\n"
+ "})(MODULE || {}, this.jQuery);\n";
final String subst = "function $1";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html