Получить внутреннее совпадение регулярных выражений для href regex catcher - PullRequest
1 голос
/ 31 марта 2019

Я хочу поймать href теги со ссылкой на YouTube внутри них.

У меня есть это регулярное выражение:

"<a.*?href=(.*?youtu.?be.*?)>.*?</a>"

Работает, но не останавливается, если тег закрыт.

Значение, если у меня есть:

<a href=www.google.come>google</a> <a href=www.youtube.com>youtube</a>

Желаемый результат:

<a href=www.youtube.com>youtube</a

Фактический результат:

<a href=www.google.come>google</a> <a href=www.youtube.com>youtube</a>

Он улавливает все, признавая Googles <a в качестве открывателя и youtubes </a> в качестве ближе.

Я хочу сделать свое регулярное выражение немного умнее, чтобы он знал, как остановить сопоставление, когда появился Google ближе, и начать новую попытку сопоставления, когда появится средство открытия Youtube.

Я попробовал это, но это не сработало:

"<a.*?[^>]href=(.*?youtu.?be.*?)>.*?</a>"

А также попробовал это:

"<a[^>].*?href=(.*?youtu.?be.*?)>.*?</a>"

1 Ответ

1 голос
/ 31 марта 2019

Вы можете попробовать этот шаблон:

"<a[^>]*?href=[^>]*?youtu.?be[^>]*?>[^>]*?<\/a>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...