Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在破折号后分隔数字的Python正则表达式_Python_Regex - Fatal编程技术网

在破折号后分隔数字的Python正则表达式

在破折号后分隔数字的Python正则表达式,python,regex,Python,Regex,这是我正在使用的正则表达式: date = "1981-89" date = re.findall(r'\d+', date) 如果日期为1981-89,则返回[1981],[89]。我应该在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身 谢谢 如果需要使用正则表达式,请使用匹配的第一个元素搜索: re.match(r'(\d+)', date).group() # matching using parenthesis in regex 如果需要使用正则表达式,请使用匹配的第

这是我正在使用的正则表达式:

date = "1981-89"
date = re.findall(r'\d+', date)
如果日期为1981-89,则返回[1981],[89]。我应该在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身


谢谢

如果需要使用正则表达式,请使用
匹配的第一个元素
搜索:

re.match(r'(\d+)', date).group() # matching using parenthesis in regex

如果需要使用正则表达式,请使用
匹配的第一个元素
搜索:

re.match(r'(\d+)', date).group() # matching using parenthesis in regex

如果需要使用正则表达式,请使用
匹配的第一个元素
搜索:

re.match(r'(\d+)', date).group() # matching using parenthesis in regex

如果需要使用正则表达式,请使用
匹配的第一个元素
搜索:

re.match(r'(\d+)', date).group() # matching using parenthesis in regex

您可以使用
re.sub
将其删除:

>>> re.sub(r'-.*','',date)
'1981'

您可以使用
re.sub
将其删除:

>>> re.sub(r'-.*','',date)
'1981'

您可以使用
re.sub
将其删除:

>>> re.sub(r'-.*','',date)
'1981'

您可以使用
re.sub
将其删除:

>>> re.sub(r'-.*','',date)
'1981'
我应该在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身

您可以使用此正则表达式:

date = "1981-89"
date = re.match(r'\d+(?=-)', date).group()
// 1981
(?=-)
是一个前瞻,确保我们只匹配后跟连字符的数字

我应该在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身

您可以使用此正则表达式:

date = "1981-89"
date = re.match(r'\d+(?=-)', date).group()
// 1981
(?=-)
是一个前瞻,确保我们只匹配后跟连字符的数字

我应该在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身

您可以使用此正则表达式:

date = "1981-89"
date = re.match(r'\d+(?=-)', date).group()
// 1981
(?=-)
是一个前瞻,确保我们只匹配后跟连字符的数字

我应该在正则表达式中添加什么来忽略破折号之后的任何内容,包括破折号本身

您可以使用此正则表达式:

date = "1981-89"
date = re.match(r'\d+(?=-)', date).group()
// 1981

(?=-)
是一种前瞻性方法,它确保我们只匹配后面有连字符的数字。

为什么不拆分字符串并获取所需内容?
日期。分区('-')[0]
将比使用正则表达式更有效。嗨,伙计们,谢谢你们的回复。我正在努力学习正则表达式。我可以很容易地解析字符串,但我正在尝试学习一些新的东西。谢谢
re.findall(r'(\d+)-',date)
可以使用。为什么不拆分字符串并获取所需内容?
date.partition('-')[0]
将比使用正则表达式高效得多。大家好,感谢您的回复。我正在努力学习正则表达式。我可以很容易地解析字符串,但我正在尝试学习一些新的东西。谢谢
re.findall(r'(\d+)-',date)
可以使用。为什么不拆分字符串并获取所需内容?
date.partition('-')[0]
将比使用正则表达式高效得多。大家好,感谢您的回复。我正在努力学习正则表达式。我可以很容易地解析字符串,但我正在尝试学习一些新的东西。谢谢
re.findall(r'(\d+)-',date)
可以使用。为什么不拆分字符串并获取所需内容?
date.partition('-')[0]
将比使用正则表达式高效得多。大家好,感谢您的回复。我正在努力学习正则表达式。我可以很容易地解析字符串,但我正在尝试学习一些新的东西。谢谢
re.findall(r'(\d+)-',date)
将起作用。我同意这一点。在我看来,英语毕业生要求的是第一个匹配项,因此应该使用
match
search
而不是
findall
@bmhkim是的,我从
findall
改为
match
。我从来没有真正理解过
match
search
之间的区别。我同意这一点。在我看来,英语毕业生要求的是第一个匹配项,因此应该使用
match
search
而不是
findall
@bmhkim是的,我从
findall
改为
match
。我从来没有真正理解过
match
search
之间的区别。我同意这一点。在我看来,英语毕业生要求的是第一个匹配项,因此应该使用
match
search
而不是
findall
@bmhkim是的,我从
findall
改为
match
。我从来没有真正理解过
match
search
之间的区别。我同意这一点。在我看来,英语毕业生要求的是第一个匹配项,因此应该使用
match
search
而不是
findall
@bmhkim是的,我从
findall
改为
match
。从未真正理解
匹配
搜索
之间的区别。