【发布时间】:2012-06-02 22:09:43
【问题描述】:
在 python 3.2.2 中,当我尝试在正则表达式模式中使用 * 时遇到了奇怪的错误。当* stads 之后/ 一切正常。但是当我尝试从模式中删除 / 时,此代码会出现错误:sre_constants.error: bad character range
import re
foo = re.search("[^123+-/*]", "123+-/*w")
if foo:
print("foo")
else:
print("doo")
在 python 文档中,我发现在没有任何反斜杠或其他内容的情况下使用 * 是可以接受的。但是这样的代码问题仍然存在。
【问题讨论】:
-
顺便说一下,
re.DEBUG标志可以帮助解决这些问题(尤其是验证“已接受”的正则表达式是否符合您的预期)。 -
我肯定会测试它。谢谢。
标签: regex python-3.x