Подтвердить что ты не робот

Строка Python заменяется на символы не в RegEx

Возможно ли создать reqex, который находит символы, которые НЕ являются конкретным набором?

Вместо того, чтобы чернить список пучков символов и их замену, мне было бы легче разрешить определенный набор и заменить символы, которые не находятся в этом наборе.

Мой набор выглядит так: [.a-Za-z0-9]

Я хотел бы сделать что-то вроде этого:

clean_filename = re.sub(r'([.a-zA-Z0-9])', "_", filename)

очевидно, этот код заменит символы, которые я хочу сохранить, есть ли способ заменить символы NOT в этом наборе?

4b9b3361

Ответ 1

Да, используйте модификатор отрицания ^: r'[^.a-zA-Z0-9]'

Ответ 2

Попробуйте:

re.sub(r'[^a-zA-Z0-9]', "_", filename)

Ответ 3

clean_filename = re.sub(r'[^.a-zA-Z0-9]', "_", filename)