Заменить не буквенно-цифровые символы, за исключением некоторых исключений 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) 

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

  • Удаление Unicode \ uxxxx в String из JSON с использованием Regex
  • Проверка IP-адресов python Проверка REGex для полного и частичного IP-адресов
  • Python regex look-behind требует шаблона с фиксированной шириной
  • соответствие символов Unicode в регулярных выражениях python
  • BeautifulSoup возвращает пустой список при поиске по именам составных классов
  • Правильное выражение Python 3 для поиска многострочного комментария
  • заменить URL-адреса в тексте ссылками на URL-адреса
  • Анализ вывода GPS-приемника через регулярное выражение в Python
  • Python - лучший язык программирования в мире.