Test, validate and match regular expressions
Matches ES5 JavaScript function declarations by capturing the 'function' keyword, optional whitespace, the parameter list inside parentheses (such as 'a, b, c'), and the opening curly brace. It's designed for converting old-style function syntax like 'function(a, b) {' into ES6 arrow function shorthand '(a, b) => {', making it useful for code modernization and automated refactoring tasks.