Regular expressions for Python built-in types
bool_pattern = ".*"
int_pattern = r"[+-]?(?:[0-9]|[0-9][0-9_]*[0-9])"
float_numeric_pattern = r"[+-]?(?:[0-9]\.?|[0-9][0-9_]*[0-9]\.?|(?:[0-9]|[0-9][0-9_]*[0-9])?\.(?:[0-9]|[0-9][0-9_]*[0-9]))(?:[eE][+-](?:[0-9]|[0-9][0-9_]*[0-9]))?"
float_pattern = r"[+-]?(?:(?:[0-9]\.?|[0-9][0-9_]*[0-9]\.?|(?:[0-9]|[0-9][0-9_]*[0-9])?\.(?:[0-9]|[0-9][0-9_]*[0-9]))(?:[eE][+-](?:[0-9]|[0-9][0-9_]*[0-9]))?|[iI][nN][fF](?:[iI][nN][iI][tT][yY])?|[nN][aA][nN])"
bool_pattern = ".*"
unsigned_int_pattern = r"(?:[0-9]|[0-9][0-9_]*[0-9])"
int_pattern = r"[+-]?" + unsigned_int_pattern
unsigned_mantissa_pattern = r"(?:" + r"|" .join ([
unsigned_int_pattern + r"\.?" ,
unsigned_int_pattern + r"?\." + unsigned_int_pattern ,
]) + r")"
exponent_pattern = r"(?:[eE][+-]?" + unsigned_int_pattern + r")"
float_numeric_pattern = r"[+-]?" + unsigned_mantissa_pattern + exponent_pattern + r"?"
float_pattern = r"[+-]?(?:" + r"|" .join ([
unsigned_mantissa_pattern + exponent_pattern + r"?" ,
r"[iI][nN][fF](?:[iI][nN][iI][tT][yY])?" ,
r"[nN][aA][nN]" ,
]) + r")"