two python solutions
method 1:\n\n    def fractionAddition(self, expression):\n        """\n        :type expression: str\n        :rtype: str\n        """\n        import re\n\n   
method 1:\n```\n    def fractionAddition(self, expression):\n        """\n        :type expression: str\n        :rtype: str\n        """\n        import re\n\n        def gcd(x, y):\n            while y:\n                x, y = y, x % y\n            return x\n\n        nums = map(int, re.findall('[+-]?\\d+', expression))\n        A, B = 0, 1\n        for a, b in zip(nums[::2], nums[1::2]):\n            A = A * b + B * a\n            B *= b\n            g = gcd(A, B)\n            A /= g\n            B /= g\n        return '{0}/{1}'.format(A, B)\n```\nmethod 2:\n```\n    def fractionAddition1(self, expression):\n        """\n        :type expression: str\n        :rtype: str\n        """\n        from fractions import Fraction\n        result = sum(map(Fraction, expression.replace('+', ' +').replace('-', ' -').split()))\n        return '{0}/{1}'.format(result.numerator, result.denominator)
[]