Регулярное выражение для соответствия экземплярам слова, отсутствующим в атрибутах HTML или тексте ссылки - PullRequest
0 голосов
/ 06 июля 2010

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

Google связан, Google не связан.

Ответы [ 3 ]

0 голосов
/ 06 июля 2010

Это работает для меня (JavaScript):

var matches = str.match(/(?:<a[^>]*>[^<]*<\/a>[\s\S]*)*(google)/);

увидеть его в действии

0 голосов
/ 06 июля 2010

При условии, что вы можете быть уверены, что ваш HTML хорошо себя ведет (и действует), особенно не содержит комментариев или вложенных тегов a, вы можете попробовать

google(?!((?!<a[\s>]).)*</a>)

, который соответствует любому "Google", которыйне следует закрывающий тег a перед следующим открывающим тегом a.Но вам лучше использовать HTML-парсер.

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