Заменить не буквенно-цифровые символы, за исключением некоторых исключений python

В perl s/[^\w:]//g заменит все не буквенно-цифровые символы EXCEPT:

В python я использую re.sub(r'\W+', '',mystring) который удаляет все не буквенно-цифровые re.sub(r'\W+', '',mystring) кроме _ underscore. Есть ли способ поставить исключения, я не хочу заменять знаки типа = и.

Раньше я применял другой подход, т. re.sub('[!@#\'\" все нежелательные символы, используя re.sub('[!@#\'\" $ ()] ',' ', Mystring`). Однако я не могу предсказать, что все символы могут появляться в мистерии, поэтому я хочу удалить все не буквенно-цифровые символы, кроме нескольких.

Google не дал соответствующего ответа. Самый близкий поиск – это python regex, разделяющий any \ W + с некоторыми исключениями, но это тоже не помогло мне.

3 Solutions collect form web for “Заменить не буквенно-цифровые символы, за исключением некоторых исключений python”

Вы можете указать все, что вам не нужно удалять в отрицательных символах.

 re.sub(r'[^\w'+removelist+']', '',mystring) 

Контрольная работа

 >>> import re >>> removelist = "=." >>> mystring = "asdf1234=.!@#$" >>> re.sub(r'[^\w'+removelist+']', '',mystring) 'asdf1234=.' 

Здесь переменная removelist – это строка, которая содержит список всех символов, которые вы должны исключить из удаления.

Что означает отрицательный характерный класс

Когда ^ перемещается в класс символов, он не действует как якорь, где он отрицает класс символа.

Это внутри внутри класса символов, например, как [^abc] это отрицает значение класса символов.

Например, [abc] будет соответствовать a b или c где [^abc] не будет соответствовать a b или c . Который также может быть сформулирован как нечто иное, чем b или c

 re.sub(r'[^a-zA-Z0-9=]', '',mystring) 

Вы можете добавить все, что хотите, _ зависимости от того, что хотите сохранить.

Я считаю, что подход, который вы описываете в perl, также можно использовать в python, например:

 re.sub(r'[^\w=]', '',mystring) 

будет удалять все, кроме словесных символов, и =

  • Python regex конвертирует URL-адрес youtube в YouTube
  • Разбор нескольких комментариев из js-файла с использованием python
  • Обнаружить URL-адреса в строке и обернуть тегом "<a href ..."
  • Правильное выражение Python 3 для поиска многострочного комментария
  • Как использовать str.replace на рисунках на TLE, а затем найти совпадение с TLE?
  • Два очень близких регулярных выражения с утверждениями в Python - почему re.split () ведет себя по-другому?
  • Исходная строка и регулярное выражение в Python
  • Повторное выражение поиска Python из переменной внутри списка
  • Как определить недействительную строку с экранированной строкой с использованием регулярного выражения?
  • Регулярное выражение с unicode и str
  • Python Regex для синтаксического анализа и возврата кортежа
  • Python - лучший язык программирования в мире.