RegEx, чтобы найти строку, включенную между двумя символами при ИСКЛЮЧЕНИИ разделителей - PullRequest
0 голосов
/ 08 марта 2020

Я немного заблудился с Regex и был бы признателен за помощь.

Цель: извлечь URL между двумя "", не возвращая "себя".

Базовая строка:

<a href="somerandomurl" class="btn btn-xs btn-default "><span class="fa fa-eye fa-fw poptip" data-toggle="tooltip" title="" data-original-title="Inspect in-game"></span></a>

Я придумал следующее решение:

(="(.*)" class="btn btn-xs btn-default ")

Жаль, что оно соответствует

="somerandomurl" class="btn btn-xs btn-default "

Можно ли сопоставить только внутренний результат, без разделители?

somerandomurl

Так как это должно быть включено в сценарий, который должен выполняться как можно быстрее, может быть, есть более быстрый и лучший подход? В действительности этот поиск по регулярному выражению будет применен ко всему веб-сайту.

1 Ответ

1 голос
/ 08 марта 2020

Использование RegEx для сопоставления разметки обычно не очень хорошая идея. Если у вас есть опция, вы можете предпочесть парсер HTML / DOM.

При этом ваш RegEx должен соответствовать образцу на большинстве языков. Но он определяет два набора скобок, поэтому требуемый результат находится в группе 2. Обе группы 0 и 1 будут содержать полное совпадение.

Если у вас возникли проблемы с чтением правильной группы результатов, предоставьте дополнительную информацию например, на каком языке вы работаете, и, предпочтительно, на фрагмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...