首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex帮助-去掉域名

问Regex帮助-去掉域名
EN

Stack Overflow用户
提问于 2012-03-08 18:08:21
回答 2查看 1.3K关注 0票数 0

说我的网址是

  • https://foo.bar.com/somedirectory/somefile.php或
  • http://abc.bar.co.uk/somedirectory/somefile.php

你能得到什么?

  • /somedirectory/somefile.php或
  • somedirectory/somefile.php
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-08 18:17:13

假设您的URL总是以http://或https://开头,这应该有效(因为您没有指定语言,下面是Perl的一个实现):

代码语言:javascript
复制
use strict;
use warnings;

my @urls=("https://foo.bar.com/somedirectory/somefile.php", "http://abc.bar.co.uk/somedirectory/somefile.php");

foreach my $url(@urls)
{
  if($url=~/^http(?:s)?:\/\/[^\/]+(\/.*)$/)
  {
    print "$1\n";
  }
  else
  {
    print "$url did not match!\n";
  }
}

产出如下:

代码语言:javascript
复制
/somedirectory/somefile.php
/somedirectory/somefile.php
票数 2
EN

Stack Overflow用户

发布于 2012-03-08 19:22:45

码

使用javascript (您可以测试它这里):

若要返回“/ome目录/Somefile.php”,请执行以下操作:

代码语言:javascript
复制
var inputString = "https://foo.bar.com/somedirectory/somefile.php";
var regex = /https?:[\/]{2}\S*?(\/\S*)/;
var outputString = inputString.replace(regex,"$1");
alert(outputString);​

若要返回“ome目录/Somefile.php”,请更改regex如下所示:

代码语言:javascript
复制
var regex = /https?:[\/]{2}\S*?\/(\S*)/;

RegEx

核心正则表达式如下。这可能需要根据您正在使用的语言进行一些调整:

代码语言:javascript
复制
https?:[\/]{2}\S*?(\/\S*)   

要将其扩展到ftp站点,可以使用

代码语言:javascript
复制
(ht|f)tps?:[\/]{2}\S*?(\/\S*)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9622566

复制
相关文章

相似问题

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