如何使用Regex将rel更改为nofollow-C#

时间:2019-02-10 14:00:04

标签: c# regex nofollow

我想将某些网址更改为nofollow,我也想将某些网址更改为dofollow

我尝试使用此正则表达式来实现它:

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

我可以支持一个网址进行跟踪(在此示例中为“ blogs.cc”)

如果我想跟随一个,我该怎么办? 我尝试:

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

但是我没有得到正确的答案

有什么解决办法?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,并将我的解决方案放在这里给所有有相同问题的人。

随便吧

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

我希望它会有用