Для совпадений подвыражений необходимо использовать круглые скобки:
match(/\href=".*?(\/pdf\/.*?\.pdf)/)[1];
Функция Match возвращает массив со всем соответствием с индексом 0, все захваты подвыражений будут добавляться в массив в порядкеони совпали.В этом случае индекс 1
содержит раздел, соответствующий \/pdf\/.*?\.pdf
.
Попробуйте сделать ваше регулярное выражение более конкретным, чем просто .*?
, если оно слишком широкое.Например:
match(/\href="([^"]+?\/pdf\/[^\.]+?\.pdf)"/)[1];
[^"]+?
будет лениво соответствовать строке символов, которая не содержит символ двойной кавычки.Это ограничит совпадение нахождением в кавычках, поэтому совпадение не будет слишком широким в следующей строке, например:
<a href="someurl/somepage.html">Test</a><a href="dir/pdf/file.pdf">Some PDF</a>