2015-01-09 6 views
0

У меня есть это регулярное выражениеПроблемы с конвертированием регулярного выражения питона

[^\\]["'&<>] 

для того, чтобы соответствовать некоторым неэкранированным символам. Однако попытка конвертировать его в строку python дает мне печаль. Я пробовал

r'[^\\][\"\'&<>]' 

но я в конечном итоге с этой ошибкой.

raise error, v # invalid expression 
sre_constants.error: bad group name 

Любая помощь будет оценена!

+0

Почему 'r' когда вы избежали everythin с' \ ' ... Или вы хотите совместить '\' также? –

ответ

0

Возможно, вы что-то не так?

import re 

print(bool(re.match(r'[^\\]["\'&<>]', 'a\"a'))) # True 
print(bool(re.match(r'[^\\]["\'&<>]', 'asd')))  # False 
0

Как ваш шаблон содержит ' и " вам нужно использовать 3 двойные кавычки """ и использовать re.escape для преобразования в строку:

>>> print re.escape("""[^\\]["'&<>] """) 
\[\^\\\]\[\"\'\&\<\>\]\ 
Смежные вопросы