**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
代码:
import re
inp=input()
tup=tuple(map(str,inp.split(',')))
i=0
while i<len(tup):
x=tup[i]
a=re.search("[0-9a-zA-Z\$#@",x)
if a!="None":
break
else:
i=i+1
if a!="None" and len(tup[i])>=6 and len(tup[i])<=12:
print(tup[i])
else:
print("invalid")
**输入:**ABd1234@1,a F1#,2w3E *,2We3345
错误:
位置0处的字符集未终止
2条答案
按热度按时间5sxhfpxr1#
该错误源于无效的正则表达式-具体来说,就是您省略了右括号。
然而,即使您根据问题中显示的代码修复了该问题,由于以下几个原因,这也不会起作用。
1.代码中的最后一个 if 测试在 while 循环之外,这几乎肯定不是我们想要的。
请尝试以下操作:
kuuvgm7e2#
您的正则表达式缺少右括号。它应该是:
此外,将字符串
"None"
的所有示例替换为关键字None
。这是因为.search返回None
,如此处所示。https://docs.python.org/3/library/re.html#re.search