Как изменить rel на nofollow с помощью Regex - C#

Я хочу изменить некоторые URL-адреса на nofollow и я также хочу, некоторые URL-адреса dofollow

я пытаюсь сделать это с помощью этого регулярного выражения:

(<a\s*(?!.*\brel=)[^>]*)(href="https?://)((?!blogs.cc)[^"]+)"([^>]*)>

я могу поддержать один URL для dofollow (в этом примере:"blogs.cc")

если я хочу сделать больше одного, что мне делать? я пытаюсь с:

(<a\s*(?!.*\brel=)[^>]*)(href="https?://)(((?!blogs.cc)[^"]+)||((?!wikipedia.org)[^"]+))"([^>]*)>

но я не получил правильный ответ

какое решение?

1 ответ

Я решил это и выложил свое решение для всех, у кого такой же вопрос.

просто сделай это

(<a\s*(?!.*\brel=)[^>]*)(href="https?://)((?!(?:blogs.cc|wikipedia.org|moreUrls.com))[^"]+))"([^>]*)>

Пример кода C#:

Regex.Replace(str, "(<a\\s*(?!.*\brel=)[^>]*)(href=\"https?://)((?!(?:blogs.cc|wikipedia.org))[^\"]+)\"([^>]*)>", "<a $2$3\" $4 rel=\"nofollow\">")

надеюсь это будет полезно

Другие вопросы по тегам