Added support for balanced match in string.match()