Regex 正则表达式URL重写

Regex 正则表达式URL重写,regex,sharepoint-2010,Regex,Sharepoint 2010,这是我在这里的第一篇文章,我必须承认我对正则表达式的了解很少 我们最近将内部内部内部网从sharepoint 2003升级到2010。在这个过程中,我们将一个站点分解为多个站点集合,将/sites添加到不同站点的URL中 e、 g 我已经尝试过使用正则表达式来重新编写静态URL,以便将其重写为包含/sites 您应该看到最后两条记录没有正确写入。有人能帮我创建正确的规则吗?REGEX 你可以使用这个: /^(http://[^/]+)?/(?!(?:sites | SitePages)/)(.

这是我在这里的第一篇文章,我必须承认我对正则表达式的了解很少

我们最近将内部内部内部网从sharepoint 2003升级到2010。在这个过程中,我们将一个站点分解为多个站点集合,将
/sites
添加到不同站点的URL中

e、 g

我已经尝试过使用正则表达式来重新编写静态URL,以便将其重写为包含
/sites

您应该看到最后两条记录没有正确写入。有人能帮我创建正确的规则吗?

REGEX
你可以使用这个:

/^(http://[^/]+)?/(?!(?:sites | SitePages)/)(.*)$/mg

有了这个替代品

\1/站点/\2

演示

结果

http://intranet/global > http://intranet/sites/global /sites/global > /sites/global /page/file.ext > /sites/page/file.ext /sites/other > /sites/other /page.ext > /sites/page.ext /intranet/global > /sites/intranet/global http_://intranet/SitePages/default.aspx > http_://intranet/SitePages/default.aspx http://intranet/global > http://intranet/sites/global /站点/全局>/sites/global /page/file.ext>/sites/page/file.ext /站点/其他>/站点/其他 /page.ext>/sites/page.ext /intranet/global>/sites/intranet/global http://intranet/SitePages/default.aspx>http://intranet/SitePages/default.aspx
你也应该在问题中包含正则表达式。这样,如果链接停止工作,人们仍然可以看到它。嗨,亚历克斯,非常感谢你的回复。我刚刚通过了一些测试,你的建议看起来很棒。不过我还有最后一个问题。。。我们的登录页URL是:http://intranet/SitePages/default.aspx这似乎是被重新写入http://intranet/sites/SitePages/default.aspx,但失败了-你知道要排除这个URL吗?我已经用一个新的正则表达式更新了我的帖子,并演示了你的登录页案例。嗯,再次谢谢你。。。哇,这是一个快速的回答。刚刚发现表达式有一个问题:-第一行是以错误的方式重写。我将此问题留给您作为练习:) http://intranet/global > http://intranet/sites/global /sites/global > /sites/global /page/file.ext > /sites/page/file.ext /sites/other > /sites/other /page.ext > /sites/page.ext /intranet/global > /sites/intranet/global http_://intranet/SitePages/default.aspx > http_://intranet/SitePages/default.aspx