首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要一些修改url域的(Regex) C#代码

需要一些修改url域的(Regex) C#代码
EN

Stack Overflow用户
提问于 2010-01-06 18:54:53
回答 2查看 680关注 0票数 1

让我们说我们有一些文本:

Lorem ipsum dolor,Lorem ipsum dolor,consectetur adipiscing elit.[医][医][[ ac ]][[ac]][[ac]]南汽在尼斯维尔,阿奎特,达尼辛,nec和马萨。库拉比图尔维尔·麦纳·埃罗斯,累加红宝石。Lorem ipsum dolor同坐,不分大小。这是一辆小车。[医]水母,产于极玻璃体中,产于羊草中。每一只夜蛾,每一只鸡,每只鸡。[医][医]黄曲霉( Cras molestie felis ) faucibus non,nunc.奎斯克,乌尔纳坐在同样的中音,在天鹅绒中的紫花苜蓿。

需要c#函数,该函数查找所有url并将域名替换为给定的域名,比如ex example.com to stackoverflow.com,但其他所有内容都保持不变(子域和url的其余部分)。

例如,在替换以下内容之后,文本应该如下所示:

Lorem ipsum dolor,Lorem ipsum dolor,consectetur adipiscing elit.[医][医][[ ac ]][[ac]][[ac]]南汽在尼斯维尔,阿奎特,达尼辛,nec和马萨。库拉比图尔维尔·麦纳·埃罗斯,累加红宝石。Lorem ipsum dolor同坐,不分大小。这是一辆小车。[医]水母,产于极玻璃体中,产于羊草中。每一只夜蛾,每一只鸡,每只鸡。[医][医]黄曲霉( Cras molestie felis ) faucibus non,nunc.Quisque suscipit,urna坐席,elit mi rhoncus lorem,ac luctus lectus nunc in velit.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-06 19:00:29

我认为这是可行的:

代码语言:javascript
复制
Regex r = new Regex("@(?<SCHEME>https?://)(?<SUBDOMAIN>([^.]+\.)*)example\.com(?<PATH>/.*)?");
string newText = r.Replace(text, "${SCHEME}${SUBDOMAIN}stackoverflow.com${PATH}");

我使用命名组,因为它们更容易跟踪和阅读。第一个是方案,http://https://,第二个是子域,最后一个是可选路径(可能有http://foo.example.comhttp://foo.example.com/http://foo.example.com/bar)。

票数 1
EN

Stack Overflow用户

发布于 2010-01-06 19:01:56

您使用的正则表达式应该如下所示:

代码语言:javascript
复制
s!(http[s]?://[\w\-]+)\.domain\.com([\w\d/]+)!$1.newdomain.org$2!gi

注意:您必须用C#的表示法重写它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2015394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档