Я пытаюсь создать некоторые фрагменты BibTeX для Visual Studio с преобразованием некоторых переменных / заполнителей с помощью Regex.
В настоящее время мои фрагменты статьи выглядят так:
"Article Reference": {
"prefix": "article",
"body": [
"@ARTICLE{${10:${1/([^\\s]+)(?:\\s)(?!and|\\$)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}$2${3/(\\s[^\\s]*)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}},",
"\tauthor = {${1:author}},",
"\tyear = {${2:year}},",
"\ttitle = {${3:title}},",
"\tjournal = {${4:journal}},",
"\tpages = {${5:pages}},",
"\tnumber = {${6:number}},",
"\tvolume = {${7:volume}},",
"\tmonth = {${8:month}},",
"\tnote = {${9:An optional note}},",
"}$0"
]
}
Итак, когда я ввожу что-то вроде:
author = {Nice Guy and Cool Person},
year = {2015},
title = {Really Nice Work}
Мой ключ будет выглядеть так:
GuyPerson2015Really
И это на самом деле происходит.
Проблема, с которой я столкнулся, заключается в том, что я хотел, чтобы этот ключ был заполнителем для последнего входа (10 долларов), чтобы я мог ввести свой собственный ключ в случае, если захочу, но когда регулярное выражение преобразует, скажем, 1 доллар. (автор) заполнитель, он перестает быть частью табуляции $ 10, означая, что я могу заменить только часть годовой части ключа
GuyPersonEditedKeyPortion
Пока желаемым будет
EditedKeyPortion
PS: Я обнаружил, что если я помещаю какую-либо вещь перед $ {1, все $ 10 становятся доступными для редактирования, даже если это нежелательно. Итак, мне нужно это поведение, но без "_":
"@ARTICLE{${10:_${1/([^\\s]+)(?:\\s)(?!and|\\$)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}$2${3/(\\s[^\\s]*)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}},",