([^"](?!js|pdf))*
в вашем шаблоне - это группа повторных захватов .Он соответствует одному символу, отличному от "
(с [^"]
), за которым сразу не следует js
или pdf
(см. (?!js|pdf)
lookahead), и каждый раз перезаписывает ноль или более этих символовзначение группы в буфере памяти группы.
Вы можете использовать
src="(?![^"]*(?:js|pdf)")([^"]*)"
См. Демонстрационную версию regex
Подробности
src="
- буквальная src="
строка (?![^"]*(?:js|pdf)")
- отрицательный прогноз, который не соответствует совпадению, если непосредственно справа от текущего местоположения есть 0+ символов, отличных от "
, сопровождаемых js
или pdf
, а затем "
char ([^"]*)
- группа 1: любые 0+ символов, кроме "
"
- "
char.