### Description

#27647 has introduced filtering for invalid schemas in Hive hook based on the characters `;` and `!`. I'm wondering if a more generic filtering could be introduced, e.g. one that adheres to the regex `[^a-z0-9_]`, since Hive schemas (and table names) can only contain alphanumeric characters and the character `_`.

Note: since the Hive metastore [stores schemas and tables in lowercase](https://stackoverflow.com/questions/57181316/how-to-keep-column-names-in-camel-case-in-hive/57183048#57183048), checking against `[^a-z0-9_]` is probably better than `[^a-zA-Z0-9_]`.

### Use case/motivation

Ensure that Hive schemas used in `apache-airflow-providers-apache-hive` hooks contain no invalid characters.

### Related issues

_No response_

### Are you willing to submit a PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

sqls = [
            "CREATE TABLE IF NOT EXISTS test_multi_statements (i INT)",
            f"SELECT * FROM {self.table}",
            "DROP TABLE test_multi_statements",
        ]
        hook = MockHiveServer2Hook()
        with mock.patch.dict(
            "os.environ",
            {
                "AIRFLOW_CTX_DAG_ID": "test_dag_id",
                "AIRFLOW_CTX_TASK_ID": "HiveHook_3835",
                "AIRFLOW_CTX_EXECUTION_DATE": "2015-01-01T00:00:00+00:00",
                "AIRFLOW_CTX_DAG_RUN_ID": "55",
                "AIRFLOW_CTX_DAG_OWNER": "airflow",
                "AIRFLOW_CTX_DAG_EMAIL": "test@airflow.com",
            },
        ):
            
            results = hook.get_records(sqls, schema=self.database)