解析Bibtex文件

时间:2012-05-26 18:27:22

标签: php javascript

我想使用php或javascript解析以下bibtex字符串或整个.bib文件。

有什么建议吗?

字符串如下:

@article{Sng:2010:PMW:1750585.1750678,
 author = {Sng, Colin T. S. and Manlove, David F.},
 title = {Popular matchings in the weighted capacitated house allocation problem},
 journal = {J. of Discrete Algorithms},
 issue_date = {June, 2010},
 volume = {8},
 number = {2},
 month = jun,
 year = {2010},
 issn = {1570-8667},
 pages = {102--116},
 numpages = {15},
 url = {http://dx.doi.org/10.1016/j.jda.2008.11.008},
 doi = {10.1016/j.jda.2008.11.008},
 acmid = {1750678},
 publisher = {Elsevier Science Publishers B. V.},
 address = {Amsterdam, The Netherlands, The Netherlands},
 keywords = {Maximum popular matching, Polynomial-time algorithm, Popular matching     problem, Priorities, Strict preference lists},
} 

1 个答案:

答案 0 :(得分:7)

我不太记得BibTeX语法,但我建议将语法转换成JSON.parse解析,如下所示:

var bibjson = bibtex.replace(/(\w+)\s*=\s*\{/g,"\"$1\": \"")
          .replace(/\}(?=\s*[,\}])/g,"\"")
          .replace(/@(\w+)\s*\{([^,]*)/,"{\"$1\": \"$2\"");
var bibobj = JSON.parse(bibjson);