All this works fine but many a times user provides table names with non-alphanumeric characters including space, forward or backward slash, dollar sign, etc. At some point DBAs noted that managing these tables becoming an issue especially the tables names with special characters. The following monitoring tool helped alleviate or eliminated the problem and also the UI was modified to check for any special characters and remove them before creating users' temporary tables.
Since MySQL doesn't provide regular expression (RLIKE or REGEXP) in SHOW TABLE syntax one is forced to use UNIX or other language (awk, perl, python, etc.) for RE features.
The following pulls all table names with special characters including $, \, space, ?, and @. You can add other characters that are of interest to you to this set.
linux> mysql --host=hostname_or_ip --database=db_name --user=root --password=your_pw --execute="SHOW TABLES" | egrep [$\\\ ?!@] # This shows tables like (not including double quotes) "non_alphanum_table_name test it 2" "non_alphanum_table_name; test it" "non_alphanum_table_name; test it $" "non_alphanum_table_name; test it $ \" "non_alphanum_table_name_test_$_!_2"