将正则表达式转换为python的麻烦

时间:2015-01-09 18:36:28

标签: python regex

我有这个正则表达式

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

以匹配一些未转义的字符。然而,尝试将其转换为python字符串让我感到悲伤。我试过了

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

但我最终得到了这个错误。

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

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

也许你做错了什么?

import re

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

答案 1 :(得分:0)

由于您的模式包含'",您需要使用3个双引号"""并使用re.escape转换为字符串:

>>> print re.escape("""[^\\]["'&<>] """)
\[\^\\\]\[\"\'\&\<\>\]\