input: Write a python function to find the most common words in a given text using regular expressions and collections.Counter.
  assert most_common_words("Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python design philosophy emphasizes code readability with its notable use of significant whitespace") == [('python', 2), ('is', 1), ('an', 1), ('interpreted', 1), ('high', 1), ('level', 1), ('general', 1), ('purpose', 1), ('programming', 1), ('language', 1), ('created', 1), ('by', 1), ('guido', 1), ('van', 1), ('rossum', 1), ('and', 1), ('first', 1), ('released', 1), ('in', 1), ('1991', 1), ('design', 1), ('philosophy', 1), ('emphasizes', 1), ('code', 1), ('readability', 1), ('with', 1), ('its', 1), ('notable', 1), ('use', 1), ('of', 1), ('significant', 1), ('whitespace', 1)]
  assert most_common_words("Hello world! Hello again.") == [('hello', 2), ('world', 1), ('again', 1)]
output: def most_common_words(text):
      import re
      from collections import Counter
      
      words = re.findall(r'\b\w+\b', text.lower())
      word_counts = Counter(words)
      return word_counts.most_common()