Как исключить все выражение, а не только первую часть с негативным просмотром в тексте блока - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь извлечь все электронные письма из HTML, за исключением электронных писем, перед которыми стоит тег mailto:

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

Regex: (?<!mailto:)(\b[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)

Тестовая строка: Maecenas sed diam eget risus fake.name@domain.net varius blandit sit amet non magna. Sed posuere consectetur est at lobortis. Maecenas faucibus <a href="mailto:fake.name@domain.net">fake.name@domain.net</a> mollis interdum.

Первое и последнее совпадение в порядке, второе совпадение.name @ domain.net, когда я вообще не хочу, чтобы он совпадал.

...