为了账号安全,请及时绑定邮箱和手机立即绑定

无法检测正则表达式中的“-”字符

无法检测正则表达式中的“-”字符

慕田峪7331174 2021-09-11 20:09:57
我正在尝试测试一个字符是否是特殊字符。当我编写以下代码时,它因 '-' 字符而失败: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,包括在内,但不是-它本身。


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信