Это образец текста, с которым я работаю.
6) Служба такси Джейка - новый участник индустрии такси. Он добился успеха, заняв уникальную позицию в отрасли. Как Служба такси Джейка, скорее всего, достигла этой позиции?
A) предоставляя тарифы на такси на большие расстояния по более высокой ставке, чем у конкурентов; обслуживание большей площади, чем у конкурентов
B) предоставление тарифов на междугородние такси по более низким тарифам, чем у конкурентов; обслуживание меньшей площади, чем у конкурентов
C), предоставление тарифов на междугородние такси по более высокой ставке, чем у конкурентов; обслуживание в той же зоне, что и конкуренты
D) предоставление тарифов на междугородние такси по более низкой ставке, чем у конкурентов; обслуживая ту же область, что и конкуренты
Ответ: D
Я пытаюсь сопоставить весь вопрос, включая варианты ответа. Все от номера вопроса до слова Ответ
Это мое текущее регулярное выражение
((rf'(?<={searchCounter}\) ).*?(?=Answer).*'), re.DOTALL)
SearchCounter - это просто переменная, которая будет соответствовать текущему вопросу, в данном случае 6 Я думаю, что проблема связана с поиском по новым строкам.
РЕДАКТИРОВАТЬ: Полный исходный код
searchCounter = 1
bookDict = {}
with open ('StratMasterKey.txt', 'rt') as myfile:
for line in myfile:
question_pattern = re.compile((rf'(?<={searchCounter}\) ).*?(?=Answer).*'), re.DOTALL)
result = question_pattern.search(line)
if result != None:
bookDict[searchCounter] = result[0]
searchCounter +=1