我确信这是一个非常基本的问题,所以,请提前感谢您的耐心等待。
我正在使用一个简单的正则表达式来识别一行文本中是否存在一年(行是字典,所以我调用了我要搜索的特定字段)。然后我想做一年的事情。我的问题是,如何找回我的搜索发现的年份?我在网上找到的所有内容都告诉我如何替换或编辑它,但在这种情况下,值是我想要提取/使用的东西。
p = re.compile('\d{4}')
if p.search(line['productionStartYear']):
# do something with the value the regular expression found
else:
# do something else
答案 0 :(得分:2)
您只需将匹配的对象放在变量中,然后使用group()
attribute以返回匹配的字符串。
p = re.compile('\d{4}')
matched_obj = p.search(line['productionStartYear'])
if matched_obj:
# do something with the value the regular expression found
# print matched_obj.group(0)
else:
# do something else
match.group([group1,...])
返回匹配的一个或多个子组。如果只有一个参数,则结果为单个字符串;如果有多个参数,则结果是一个元组,每个参数有一个项目。如果没有参数,group1默认为零(返回整个匹配)。如果groupN参数为零,则相应的返回值是整个匹配的字符串;如果它在包含范围[1..99]中,则它是与相应的带括号的组匹配的字符串。