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

正则表达式错误-无需重复

正则表达式错误-无需重复

我使用以下表达式时收到错误消息:re.sub(r"([^\s\w])(\s*\1)+","\\1","...")我在RegExr中检查了正则表达式,它.按预期返回。但是当我在Python中尝试时,出现以下错误消息:raise error, v # invalid expressionsre_constants.error: nothing to repeat有人可以解释一下吗?
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

那是“ *”和特殊字符之间的Python错误。


代替


re.compile(r"\w*")

尝试:


re.compile(r"[a-zA-Z0-9]*")

它可以工作,但是不能使用相同的正则表达式。


该错误似乎已在2.7.5和2.7.6之间修复。


查看完整回答
反对 回复 2019-12-03
?
HUWWW

TA贡献1874条经验 获得超12个赞

实际上,这不仅是带有*的Python错误,而且还可能在将字符串作为要编译的正则表达式的一部分传递时发生,例如;


import re

input_line = "string from any input source"

processed_line= "text to be edited with {}".format(input_line)

target = "text to be searched"

re.search(processed_line, target)

如果处理过的行包含一些“(+)”(例如,您可以在化学式中找到)或此类字符链,则将导致错误。解决方案是逃脱,但是当您即时进行操作时,可能会发生无法正确执行操作的情况...


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 1291 浏览
慕课专栏
更多

添加回答

举报

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