Я пытаюсь искать заголовки в файле bibtex и получать заголовки только в качестве вывода.
Например, когда я читаю текст bibtex построчно, это будут строки в списке:
['\tPages = {3221--52},\n',
'\tTitle = {The slave trade and the origins of mistrust in Africa},\n',
'\tVolume = {101},\n',
'\tYear = {2011}}\n',
'\n',
'@article{perez2013regime,\n',
"\tAuthor = {P{\\'e}rez-Li{\\~n}{\\'a}n, An{\\'\\i}bal and Mainwaring, Scott},\n",
'\tDate-Added = {2019-03-06 15:28:11 -0800},\n',
'\tDate-Modified = {2019-03-06 15:28:11 -0800},\n',
'\tJournal = {Comparative Politics},\n',
'\tNumber = {4},\n',
'\tPages = {379--397},\n',
'\tPublisher = {City University of New York},\n',
'\tTitle = {Regime legacies and levels of democracy: evidence from Latin America},\n',
'\tVolume = {45},\n']
Отсюда я бы хотел получить только названия:
The slave trade and the origins of mistrust in Africa
Regime legacies and levels of democracy: evidence from Latin America
Как я могу сделать это с regex
?
Потенциально я хочу что-то вроде:
for line in lines:
pattern = re.compile( regex here )
result = pattern.search(line)
if (result):
print(result.group())
Я следовал за ответом ниже, но он не напечатает результаты:
string = '\tTitle = {Regime legacies and levels of democracy: evidence from Latin America},\n'
pattern = re.compile(r'^\\tTitle = \{(.*)\},\\n$')
result = pattern.match(string)
if (result):
print(result.group(1))
Я не получил результатов, то есть совпадений не было?