Я пытаюсь удалить символы из этой строки в Python, используя re.sub:
re.sub(r"(?![a-z0-9])", "_", "some:long:str-:that:can't+have+symbols".lower())
Ответ, который я ищу:
some_long_str__that_can_t_have_symbols
но это не работает.Я определенно могу сопоставить буквенно-цифровые символы, используя findall (), а затем join (), чтобы создать новую строку, но это полностью исключает символ, поэтому в итоге я пишу неэффективный цикл for.
Я думаю, проблема в том, как я отрицаю свое выражение.Есть идеи?