Python正则表达式:如何返回搜索值?

时间:2016-06-09 17:32:26

标签: python regex

我确信这是一个非常基本的问题,所以,请提前感谢您的耐心等待。

我正在使用一个简单的正则表达式来识别一行文本中是否存在一年(行是字典,所以我调用了我要搜索的特定字段)。然后我想做一年的事情。我的问题是,如何找回我的搜索发现的年份?我在网上找到的所有内容都告诉我如何替换或编辑它,但在这种情况下,值是我想要提取/使用的东西。

p = re.compile('\d{4}')
if p.search(line['productionStartYear']):
    # do something with the value the regular expression found
else:
    # do something else

1 个答案:

答案 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]中,则它是与相应的带括号的组匹配的字符串。