ошибка при сопоставлении специального символа '\' в регулярном выражении с использованием '\\'

1

У меня очень простой python script, чтобы соответствовать некоторым специальным символам вроде -, +, -,. Но Im не получает ожидаемого результата при использовании regex\для соответствия одному '\' char.

import re
pat = r'[-+*\\]'
text = 'fdkjdfk\sdsdd'
if re.search(pat,text):
   print re.search(pat,text).group()
else:
   print "not found"

При запуске над кодом он печатает "not found" Кажется, я делаю какую-то ошибку здесь, любая помощь оценивается!!!

  • 1
    нет репро, совпадений просто отлично.
  • 0
    Приведенный выше код работает для меня - он печатает `\`.
Показать ещё 3 комментария
Теги:

1 ответ

2

\ является escape-символом.

Попробуйте выполнить его:

text = 'fdkjdfk\\sdsdd' 
  • 0
    спасибо за ответ ... Используя text = 'fdkjdfk \\ sdsdd', а затем pat = r '[- + * \\]', сопоставьте его правильно. Но значит ли это, что в моем тексте я должен использовать (заменять '\') символ '\\' везде вместо '\'.
  • 0
    Я недостаточно использовал Python, чтобы дать четкий ответ на вопрос в вашем комментарии, но docs docs.python.org/release/2.5.2/ref/strings.html объясняет больше о escape-последовательностях.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню