gpt4 book ai didi

regex - 在 python 正则表达式的集合中使用 *

转载 作者:行者123 更新时间:2023-12-05 00:00:02 27 4
gpt4 key购买 nike

在 python 3.2.2 中,当我尝试在正则表达式模式中使用 * 时遇到了奇怪的错误。当 * stads 之后/一切正常时。但是当我尝试从模式中删除/时,此代码出现错误: sre_constants.error: 错误字符范围

import re
foo = re.search("[^123+-/*]", "123+-/*w")
if foo:
print("foo")
else:
print("doo")

在 python 文档中,我发现使用 * 是可以接受的,没有任何反斜杠或其他东西。然而,像这样的代码问题仍然存在。

最佳答案

您的问题不是 * ,它是表示字符类中的范围的连字符减号,在这种情况下,+ 之间的所有字符和 / ( +,-./ )。出现无效范围是因为 *来之前 / .

如果要在字符类中包含文字连字符,则必须对其进行转义或将其放在最后或开头:

[^123+/*-]

关于regex - 在 python 正则表达式的集合中使用 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com