Я использую следующее регулярное выражение:
(ADJECTIVE|NOUN|VERB)
Чтобы найти эти три слова в следующем предложении:
The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events.
Я пытаюсь запустить цикл, чтобы получить пользователявходы, которые изменят либо ADJECTIVE, NOUN или VERB:
new = ''
for c, item in enumerate(madlib_regexp.findall(text), 1):
print(type(c))
# get user input
if item[0] == 'A':
replace = input('Enter an ' + item.lower() + ': ')
else:
replace = input('Enter a ' + item.lower() + ': ')
# replace matches with inputs
global new
new = madlib_regexp.sub(replace, text)
Самая большая проблема, с которой я сталкиваюсь, это использование значения "c" в enumerate для единственной замены c-го соответствия для моего цикла.Например, «VERB» будет третьим соответствием в моей строке, поэтому я хочу, чтобы текущий пользовательский ввод заменял только 3-е совпадение.