Python中文网

一个关于 编程问题的解答网站.

有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用Java正则表达式解析BibTeX记录

我必须使用Java正则表达式编写简单的BibTeX解析器。任务有点简化:每个标记值都在引号""之间,而不是括号{}。问题是,{}可以在""

我试图从整个字符串文件中剪切单个记录,例如,我想将@book{...}作为字符串。问题是,最后一个标记后面不能有逗号,所以它可以以:author = "john"}结尾

我尝试过@\w*\{[\s\S]*?\},但如果在""之间的任何标记值中有},它就会停止。也不能保证}会在单独的行中,它可以直接在最后一个标记值之后(也可能不会以"结尾,因为它可以是整数)

你能帮我吗


共 (1) 个答案

  1. # 1 楼答案

    我发现了一个黑客,它可能会帮助有同样问题的人:在}符号后必须有新行字符。如果值的结尾仅为“(}符号不结束任何值),则正则表达式末尾的[\r\n]就足够了