Apache Airflow version: 1.10.*
BackPort Packages version: 2020.10.29rc1

What happened:

BigQueryInsertJobOperator tries to start a BigQuery job by specifying a job_id which is a combination of dag_id, task_id, execution_date and an additional uniqueness_suffix.

https://github.com/PolideaInternal/airflow/blob/e5307990adb49a5a1c1c88a029940682efee0f9e/airflow/providers/google/cloud/operators/bigquery.py#L2073

However, it would appear that the regex pattern that is attempting to remove the `+` character is not correct as this still remain in `job_id` after `re.sub` is applied.

https://github.com/PolideaInternal/airflow/blob/e5307990adb49a5a1c1c88a029940682efee0f9e/airflow/providers/google/cloud/operators/bigquery.py#L2073

`Invalid job ID "airflow_my_test_dag_v1_test_2020_10_01T00_00_00+00_00_27f69de5cd17a012f3c89d414a70fe64". Job IDs must be alphanumeric (plus underscores and dashes) and must be at most 1024 characters long.
`  

How to reproduce it:

- Create a DAG with the name my-test-dag-v1.
- Run any query against BigQuery using this operator
tests/providers/google/cloud/operators/test_bigquery.py
operator = BigQueryCreateEmptyTableOperator(
            task_id=TASK_ID,
            dataset_id=TEST_DATASET,
            project_id=TEST_GCP_PROJECT_ID,
            table_id=TEST_TABLE_ID,
            view=VIEW_DEFINITION,
        )
        operator.execute(None)
        mock_hook.return_value.create_empty_table.assert_called_once_with(
            dataset_id=TEST_DATASET,
            project_id=TEST_GCP_PROJECT_ID,
            table_id=TEST_TABLE_ID,
            schema_fields=None,
            time_partitioning={},
            cluster_fields=None,
            labels=None,
            view=VIEW_DEFINITION,
            encryption_configuration=None,
            table_resource=None,
            exists_ok=False,
        )
    @mock.patch('airflow.providers.google.cloud.operators.bigquery.BigQueryHook')
    def test_create_clustered_empty_table(self, mock_hook):
        schema_fields = [