首页 > 解决方案 > 如何使用正则表达式将 rel 更改为 nofollow - c#

问题描述

我想将一些 url 更改为 nofollow,我也想要一些 url dofollow

我尝试用这个正则表达式来做到这一点:

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

我可以支持一个 url 来关注(在这个例子中:“blogs.cc”)

如果我想多关注一个,我该怎么办?我尝试:

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

但我没有得到正确答案

有什么解决办法?

标签: c#regexnofollow

解决方案


我解决了它并将我的解决方案放在这里给有同样问题的每个人。

去做就对了

(<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\">")

我希望它会有用


推荐阅读