这是我正在使用的正则表达式:
date = "1981-89"
date = re.findall(r'\d+', date)
如果日期是1981-89,则返回[1981],[89]。我应该在正则表达式中添加什么来忽略破折号后的任何内容,包括破折号本身?
谢谢!
答案 0 :(得分:2)
如果您需要使用正则表达式,请使用match
搜索的第一个元素:
re.match(r'(\d+)', date).group() # matching using parenthesis in regex
答案 1 :(得分:0)
您可以使用re.sub
删除它:
>>> re.sub(r'-.*','',date)
'1981'
答案 2 :(得分:0)
我在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身?
您可以使用此正则表达式:
date = "1981-89"
date = re.match(r'\d+(?=-)', date).group()
// 1981
(?=-)
是一个前瞻,确保我们只匹配后跟连字符的数字。