在python中解析这些结果的最好方法是什么?我试过正则表达式,但是不能让它工作。我正在寻找一个标题,作者等作为关键字的字典。
@article{perry2000epidemiological,
title={An epidemiological study to establish the prevalence of urinary symptoms and felt need in the community: the Leicestershire MRC Incontinence Study},
author={Perry, Sarah and Shaw, Christine and Assassa, Philip and Dallosso, Helen and Williams, Kate and Brittain, Katherine R and Mensah, Fiona and Smith, Nigel and Clarke, Michael and Jagger, Carol and others},
journal={Journal of public health},
volume={22},
number={3},
pages={427--434},
year={2000},
publisher={Oxford University Press}
}
5条答案
按热度按时间kgqe7b3p1#
这看起来像一个引文格式,你可以这样解析它:
正则表达式使用两个命名的捕获组(主要是为了直观地表示什么是什么)。
[^}]
。换句话说,值只是花括号内的一个或多个不是花括号的字符。esyap4oy2#
您可能正在寻找BibTeX解析器:https://bibtexparser.readthedocs.io/en/master/
图片来源:www.example.comhttps://bibtexparser.readthedocs.io/en/master/tutorial.html#step-0-vocabulary
输入/创建bibtex文件:
解析它:
输出:
iq3niunx3#
您可以使用regex:
输出:
tv6aics14#
您可能正在寻找
re.split
:我假设您需要去掉末尾的大括号和逗号,这只是一个简单的替换或切片任务。
00jrzges5#
由于我在使用其他解决方案时遇到了一些问题(而且我不想安装新的库),下面是我的尝试。
请注意,此方法假定所有参考书目记录的格式为:
除了
month
字段外,所有字段通常都是这种情况,因为该字段经常缺少大括号,我为它添加了一个特殊的大小写。