我正在尝试测试一个字符是否是特殊字符。当我编写以下代码时,它因 '-' 字符而失败:import res = '-'regex = re.compile('[!@#$%^&*()-+]')if regex.search(s) == None: print("Not found")else: print("Found")输出>>未找到但是,如果我按如下方式更改模式中“-”字符的位置(代码第 3 行),它可以正常工作import re s = '-'regex = re.compile('[!@#$%^&*()+-]')if regex.search(s) == None: print("Not found")else: print("Found")输出>>找到是什么导致了这种差异,我如何确保能够检测到字符?
2 回答

蓝山帝景
TA贡献1843条经验 获得超7个赞
-
如果它不是范围中的最后一个或第一个字符且未转义,则将其视为特殊字符。所以:
[-19]
或者[19-]
或者[1\-9]
是-
,1
或者9
,但[1-9]
是1
和之间的任何东西9
,包括在内,但不是-
它本身。
添加回答
举报
0/150
提交
取消