Quick Regex Python 3不工作

2024-09-24 06:23:14 发布

您现在位置:Python中文网/ 问答频道 /正文

if re.findall(r"i am .*", a):
    reg = re.compile(r" i am ([\w]+).*?$")
    print('How long have you been {}?'.format(*reg.findall(a)))

所以如果我输入:

^{pr2}$

应输出:

^{pr3}$

但由于某种原因我会得到元组错误?

顺便说一下,a只是一个输入字段。

^{pr4}$

Tags: reyouformatifhaveregamlong
1条回答
网友
1楼 · 发布于 2024-09-24 06:23:14

第二个正则表达式不匹配:

re.compile(r" i am ([\w]+).*?$")

因为它从一个空格开始。去掉初始空间,它可以正常工作:

^{pr2}$

引发您看到的异常是因为.format()方法以元组的形式接收位置参数,尝试查找项0,当它被传递给一个空的参数集时,您将得到IndexError。在

相关问题 更多 >