В Notepad++ я хотел бы заменить все ссылки/цитаты ключом цитирования.
Например, следующее:
Bla bla bla bla (van Author et al., 2015).
Bla bla bla (Authorone, Authortwo, & Authorthree, 2016).
Bla bla (Authorone & Authortwo, 2017).
Должно стать:
Bla bla bla bla (vanAuthor2015).
Bla bla bla (Authorone2016).
Bla bla (Authorone2017).
Обратите внимание, что в одной строке также может быть несколько ссылок, но нет вложенных скобок.
На первом этапе я заменил (?<=\([a-z][a-z][a-z])\s
ничем, чтобы превратить первую цитату из (van Author et al., 2015)
в (vanAuthor et al., 2015)
. Это также сработает для (von Author et al., 2015)
.
Объяснение:
\s
Удалить один пробел(?<=
что следует\([a-z][a-z][a-z])
открывающая скобка и 3 строчные буквы.)
закрыть положительный обзор.
Тем не менее, я борюсь со 2-м шагом. Как заменить первый пробел до последнего пробела после запятой \s.*,\s
только в круглых скобках? Я прочитал много сообщений под названием «регулярные выражения только в скобках», но решения, с которыми я столкнулся, не подходили для моего случая.
(\(\w+)(?:\s+(\w+))?[^)]*\s(\d+\))
--›$1$2$3
. - person Wiktor Stribiżew   schedule 20.02.2017