-2

Не понимаю, почему выделяет всю строку, если я написал, что надо найти ссылку с атрибутов href и эта ссылка может состоять из многих символов. И по идеи должно выделить до элемента img, а выделяет почти всю строку, как сделать правильно?

<a href="user/111/444"><img src="/GI_EN.png" class="img-responsive" alt="Двигатель на Портер2" title="Двигатель на Портер2"></a>

Регулярное выражение

<a href=".+">
DivMan
  • 891
  • Ничего не понятно что вы хотите сделать и что сделали – Arsen Mar 21 '18 at 09:10
  • хочу вывести содержимое атрибута title – DivMan Mar 21 '18 at 09:11
  • Надо или убрать жадность, или переписать шаблон на отрицание кавычки. В первом варианте нужно после плюса поставить знак вопроса, а во втором написать внутри кавычек символьный класс с отрицанием: [^"]+ – Эдуард Mar 21 '18 at 09:12
  • А для тайтла тогда и дописать его в шаблон нужно. – Эдуард Mar 21 '18 at 09:13
  • для href тоже надо, как сделать, что бы черту, тоже учитывал? – DivMan Mar 21 '18 at 09:18

1 Answers1

0

По умолчанию модификаторы + и ? работают в "жадном" режиме. Т.е. они захватывают максимальное число символов, которое удовлетворяет данном регулярному выражению. Т.к. Вы сказали искать любые символы, пока не встретятся "> то Вы и получаете поиск до последней такой пары символов. Если же Вам нужно найти первую пару символов, то Вам нужен "не жадный" режим.

Этот режим включается модификатором ? который добавляется после модификаторов +, *

Итого, Ваше регулярное выражение должно иметь вид

<a href=".+?">