В регулярном выражении некоторый символ имеет значение и вызывает некоторую функциональность, когда вы хотите явно сопоставить символ без запуска его функции, вы избегаете его.
Теперь re.escape - это просто метод, позволяющий избежать экранированиясписок символов вручную.
вместо экранирования (добавление \
) вручную, например, так:
"\ $ \ [\] \ ^"
Вы можете просто делать то, что пишите.
pattern = "|" .join (map (re.escape, "[$ [] ^")) "\ $ | \ [| \] | \ ^"
Чтобы узнать, для чего нужен ваш код, просто напечатайте стр.
list_of_strings = ['can we: remove', 'with @#$%$#%@/}\p special characters!!!!','EXACT']
p = '|'.join(map(re.escape, list_of_strings))
print(p)
Как вы увидите, все символы были экранированы \
.