import re
regex = re.compile(r"(\([\w\s].*[\w\s]\)|\(\)) =>", flags=re.MULTILINE | re.IGNORECASE)
test_str = ("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")
subst = "function $1"
result = regex.sub(subst, test_str)
if result:
print(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 Python, please visit: https://docs.python.org/3/library/re.html