2015-01-09 21 views
0

我有这样的正则表达式麻烦与正则表达式转换到Python

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

为了配合一些转义字符。然而,试图将它转换成python字符串让我感到悲伤。我试过

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

但我最终出现了这个错误。

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

任何帮助,将不胜感激!

+0

为什么'r'当你逃脱对一切与'\' ...还是你想和'\'匹配? – 2015-01-09 18:38:20

回答

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("""[^\\]["'&<>] """) 
\[\^\\\]\[\"\'\&\<\>\]\