简单的正则表达式替换URL的第一部分

时间:2014-10-10 19:44:39

标签: regex ruby-on-rails-4

给出

  • http://localhost:3000/something
  • http://www.domainname.com/something
  • https://domainname.com/something

如何选择/something之前的内容并将其替换为staticpages

输入网址是request.referer的结果,但由于您不能render request.referer(我不想要redirect_to),我正在尝试手动构建使用controller/action的相应模板action始终是路由,我只需要使用控制器staticpages替换域。

1 个答案:

答案 0 :(得分:1)

您可以使用这样的正则表达式:

(https?://)(.*?)(/.*)

<强> Working demo

enter image description here

正如您在“替换”部分中所看到的,您可以使用捕获组并连接您想要生成所需网址的字符串。

正则表达式的想法是捕获域前后的字符串,并使用\1 + staticpages + \3

如果要将协议更改为ftp,可以使用捕获组索引并使用此替换字符串:

ftp://\2\3

所以,你会:

ftp://localhost:3000/something
ftp://www.domainname.com/something
ftp://domainname.com/something