#regex #extract #href
#регулярное выражение #извлечь #href
Вопрос:
Итак, у меня есть строка, взятая из тела электронного письма, которая содержит гиперссылку. Внутри этой гиперссылки находится ссылка href, которую я пытаюсь извлечь. Следующая строка — это строка, о которой идет речь:
View Documents: <a>MonthlyQuarterlyReport</a>
(Я не знаю, как создавать гиперссылки в этой теме, поэтому представьте, что MonthlyQuarterlyReport — это желаемая гиперссылка, содержащая ссылку href).
Моя цель — извлечь ссылку на ссылку в указанной выше гиперссылке. Я предполагаю, что идеальным подходом для этого является чтение части строки с надписью «Documents: «, а затем чтение первой ссылки, которую вы найдете после этого. В качестве дополнительного примечания, текст самой гиперссылки не является статическим элементом, он будет часто меняться и не будет каждый раз называться «Ежемесячно-квартальный отчет». Итак, я предполагаю, что мой вопрос здесь в том, как мне извлечь первую ссылку href, которая появляется после элемента «Documents: » в данном конкретном случае?
Это то, что у меня есть до сих пор:
(?<=href=").*.com(?=">)
Спасибо за любую помощь!
Ответ №1:
Я полагаю, вы хотите захватить ссылку, связанную с текстом.
Предполагая, что вы используете JavaScript и у вас есть html-источник электронной почты. Допустим, у вас есть,
body = 'Documents: This is a <a class="someCSSClass" href="http://this-is-link">MonthlyQuarterlyReport</a> of 2020<a class="someCSSClass" href="htpps://new-link">New Link</a>'
Итак, чтобы извлечь href
arrMatch = body.match(/<as class="someCSSClass"s href="([^"]*?)">/)
arrMatch
будет
[
0: 'Documents: This is a <a class="someCSSClass" href="http://this-is-link">'
1: 'http://this-is-link'
]
и arrMatch[1]
будет иметь вашу ссылку