У меня довольно длинный и сложный HTML-документ, и мне нужно найти все вхождения данной строки, например, "foobar", если он не находится между <a>
и </a>
тегами привязки.
Проблема в том, что он может быть внутри некоторого текста между тегами привязки, например
<a>this is a foobar test</a>
и даже в этом случае я должен не найти совпадение.
Как я могу сделать это с помощью регулярных выражений ?? У меня не было бы проблем с поиском <a>foobar</a>
и т. Д. - но найти каждый «foobar» , за исключением , когда он находится между тегами привязки и окружен возможным, много другого текста кажется немного сложным .....
Есть идеи ??
ОТВЕТ:
Мы решили использовать это регулярное выражение для решения этой проблемы - на всякий случай, если кому-то а) интересно, или б) в том же месте: -)
(?<!\<A.*(?=\<\/A))Test(?!\<\/A.*(?=\<A))