/<a[\s]+([^>]+)>((?:.(?!\<\/a\>))*.)<\/a>/g
Этот тег будет соответствовать любому тегу <a ...>...</a>
, включая правильно совпадающие теги, содержащие <или любые полные теги, такие как: </p>
blah blah <a href="test.html">This line contains an HTML opening < bracket.</a> blah blah
blah blah <a href="test.html">This line contains <strong>bold</strong> text.</a> blah blah
.*
с группами захвата:
href="test.html"
This line contains an HTML opening < bracket.
и
<a href="test.html">This line contains <strong>bold</strong> text.</a>
- с группами захвата:
href="test.html"
This line contains <strong>bold</strong> text.
Также включает группы захвата для атрибутов тега(например, class = "", href = "" и т. д.) и содержат (что находится между тегами), которые можно удалить, если они вам не нужны.
Если вы хотите захватить несколько строк, добавьте«s» до или после флага «g» в конце.Обратите внимание, что флаг "s" может работать не во всех разновидностях регулярного выражения.
Пример захвата (без использования флага "s" - пока не поддерживается regexr): http://regexr.com/39rsv