Question: 
Write a function to find uppercase, lowercase, special character and numeric values using regex.


Model's Code:
import re

def find_character(string):
    upper = re.findall(r'[A-Z]', string)
    lower = re.findall(r'[a-z]', string)
    digits = re.findall(r'\d', string)
    special = re.findall(r'[^A-Za-z0-9]', string)
    return (upper, lower, digits, special)



Sample Correct Code:
import re
def find_character(string):
  uppercase_characters = re.findall(r"[A-Z]", string) 
  lowercase_characters = re.findall(r"[a-z]", string) 
  numerical_characters = re.findall(r"[0-9]", string) 
  special_characters = re.findall(r"[, .!?]", string) 
  return uppercase_characters, lowercase_characters, numerical_characters, special_characters


Asserts:
assert find_character("ThisIsGeeksforGeeks") == (['T', 'I', 'G', 'G'], ['h', 'i', 's', 's', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'e', 'e', 'k', 's'], [], [])
assert find_character("Hithere2") == (['H'], ['i', 't', 'h', 'e', 'r', 'e'], ['2'], [])
assert find_character("HeyFolks32") == (['H', 'F'], ['e', 'y', 'o', 'l', 'k', 's'], ['3', '2'], [])


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 182 of 974: 134/182 (73.62637362637363%): success