Как понять это регулярное выражение?
Positive Lookbehind
более предметно https://learn.javascript.ru/regexp-lookahead-lookbehind

Небольшой лайфхак по регуляркам. Иногда помогает использовать инструменты для их составления. Например, https://regex101.com/r/GYjBIY/1

В верхнем правом углу будет объяснение как работает. А в поле ниже можно на своих примерах посмотреть как отрабатывает регулярка в разных ситуациях.
(?<=) - справа от этого шаблона, то есть условие есть но в матч оно не попадет. в матч попадет то что окажется после этого утверждения.
.pdf  - сам шаблон
bb- то что нашли
и того
(?: ) - обычная группа но ?: говорит о том то ее не нужно  выделять в группу то есть в $1  ее превращять не нужно, то на саму регулярку этот вопрос с двоеточием не влияет никак это просто група, но посколкьу она не  данные не будут нужны. и дабы ее засорять вывод ее нужно прсто забыть.