繁体   English   中英

正则表达式找到一个数字

[英]Regex find a digit

我有以下字符串, Hello, season 2 (VSF) ,我需要从中解析“ 2”。 这是我正在尝试的:

s = 'Hello, season 2 (VSF)'
re.findall('Season|Saison|Staffel[\s]+\d',s)
>>> ["Season"]

我如何在这里获得“第二季”?

Season|Saison|Staffel应分组。 还要指定re.IGNORECASEre.I标志以区分大小写。

s = 'Hello, season 2 (VSF)'
>>> re.findall(r'(?:Season|Saison|Staffel)\s+\d+', s, flags=re.IGNORECASE)
['season 2']
>>> re.findall(r'(?:Season|Saison|Staffel)\s+\d+', s) # without re.I
[]

使用非捕获组。 否则,模式包括捕获组,并且re.findall返回匹配组列表,而不是匹配字符串。

>>> re.findall(r'(Season|Saison|Staffel)\s+\d+', s, flags=re.IGNORECASE)
['season']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM