【发布时间】:2013-11-15 14:13:25
【问题描述】:
我最近一直在编写一个程序,其中一部分需要我在字符串中获取信息形式。我需要找到 1 个字母后跟 2 个数字(例如 S07)的位置,但我无法计算出它的 RegEx。
def get_season(filenames):
pattern = "^[a-zA-z]{1}[\d]{2}$"
found = re.search(filenames[0], pattern)
season_name = found.string
season = season_name[1:3]
print(season)
我知道此信息在字符串中,但它一直给我“无”作为响应
(我不太确定代码部分的格式是否正确,在预览中显示为同一行,但我的程序中的缩进是正确的)
【问题讨论】:
-
s/a-zA-z/a-zA-Z/;将[\d]更改为\d。 -
@devnull:这个范围太宽了,不是太窄。
[..]类只是多余的,它不会匹配任何更少的东西。 -
@MartijnPieters 我的意思是 替代
a-zA-z和a-zA-Z。 -
@devnull:是的,我明白这很好(我是一个 VI 用户,在过去的一生中编写过 Perl)。我是说
A-z仍然包括A-Z,以及Z和a之间的所有内容,然后一直到z。
标签: python regex python-3.x