У меня есть следующие три строки:
inputs = [
"Season 12",
"Season 1a",
"Season 1-2"
]
Я пытаюсь соответствовать только первому. Вот текущее регулярное выражение, которое у меня есть:
outputs = []
for input in inputs:
output = re.search(r'(Staffel|Season|Saison|S\.?)?\s?(\d{0,})(?!(-|[a-z][A-Z]))', input, re.IGNORECASE).group(2)
outputs.append(output)
assert(outputs == ['12','',''])
# AssertionError, values were ['12', '1', '']
В настоящее время это работает для Season 12
, Season 1-2
, но не для Season 1a
(ничего не должно возвращаться).