Я должен написать простой парсер BibTeX, используя регулярные выражения Java.Задача немного упрощена: каждое значение тега находится в кавычках ""
, а не в скобках {}
.Дело в том, что {}
может быть внутри ""
.
Я пытаюсь вырезать отдельные записи из всего файла String, например, я хочу получить @book{...}
как String.Проблема в том, что после последнего тега не может быть запятой, поэтому она может заканчиваться следующим образом: author = "john"}
.
Я пробовал @\w*\{[\s\S]*?\}
, но останавливается, если у меня есть }
в любом значении тегамежду ""
.Также нет гарантии, что }
будет находиться в отдельной строке, это может быть непосредственно после последнего значения тега (которое также не может заканчиваться на "
, так как это может быть целое число).
Можете ли выпомочь мне с этим?