.
означает любой отдельный символ
*
означает ноль или более предыдущего элемента (который является жадным оператором)
?
послезвезда странная в этой позиции.Обычно ?
после .
означает «один или несколько из предыдущего элемента» или, если используется, как этот (?:.*)
означает «сопоставить что-либо, но не создавать обратную ссылку».
Итак href="(.*)"
также должно точно соответствовать тому, что будет соответствовать href="(.*?)"
.
В любом случае ваш шаблон совпадения должен быть:
$0
будет равен всему div
$1
будетравное значение внутри href
$2
будет равно значению внутри тега
Вы можете попробовать регулярные выражения онлайн на http://www.regextester.com/ - есть также различные приложения и виджеты дляВаша ОС для тестирования.