input: Write a function to determine if a string has matching parentheses. It should return True if the parentheses are properly matched and False otherwise. The function should handle strings consisting of any characters, and it should correctly identify mismatched parentheses.
  assert matching_paren("(a+b)")==True
  assert matching_paren("(a+b)*(c+d)")==True
  assert matching_paren("(a+b)*(c+d))")==False
  assert matching_paren("((a+b)*(c+d)")==False
  assert matching_paren("a+b")==True
output: def matching_paren(s):
      stack = []
      for char in s:
          if char == '(':
              stack.append(char)
          elif char == ')':
              if not stack:
                  return False
              stack.pop()
      return len(stack) == 0