所以我想要做的是有一个名为 a 的输入字段。然后有一行正则表达式检查'我是(某事)'(注意某事可能是一串单词。)然后打印你多久了(某事)?
到目前为止,这是我的代码:
if re.findall(r"i am", a):
print('How long have you been {}'.format(re.findall(r"i am", a)))
但这会给我返回 [i, am] 的列表,而不是(某物)。我如何让它返回给我(东西?)
谢谢,
Python 的一个 n00b
所以我想要做的是有一个名为 a 的输入字段。然后有一行正则表达式检查'我是(某事)'(注意某事可能是一串单词。)然后打印你多久了(某事)?
到目前为止,这是我的代码:
if re.findall(r"i am", a):
print('How long have you been {}'.format(re.findall(r"i am", a)))
但这会给我返回 [i, am] 的列表,而不是(某物)。我如何让它返回给我(东西?)
谢谢,
Python 的一个 n00b
你的意思是这样的吗?
>>> import re
>>> a = "I am a programmer"
>>> reg = re.compile(r'I am (.*?)$')
>>> print('How long have you been {}'.format(*reg.findall(a)))
How long have you been a programmer
r'I am (.*?)$'匹配I am,然后其他所有内容到字符串的末尾。
要匹配一个单词,您可以执行以下操作:
>>> a = "I am an apple"
>>> reg = re.compile(r'I am (\w+).*?$')
>>> print('How long have you been {}'.format(*reg.findall(a)))
How long have you been an
可能只是一个避免权重和成本正则表达式的简单解决方案
>>> a = "i am foxmask"
>>> print a[5:]
foxmask