说我的网址是
https://foo.bar.com/somedirectory/somefile.php或http://abc.bar.co.uk/somedirectory/somefile.php你能得到什么?
/somedirectory/somefile.php或somedirectory/somefile.php发布于 2012-03-08 18:17:13
假设您的URL总是以http://或https://开头,这应该有效(因为您没有指定语言,下面是Perl的一个实现):
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";
}
}产出如下:
/somedirectory/somefile.php
/somedirectory/somefile.php发布于 2012-03-08 19:22:45
码
使用javascript (您可以测试它这里):
若要返回“/ome目录/Somefile.php”,请执行以下操作:
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如下所示:
var regex = /https?:[\/]{2}\S*?\/(\S*)/;RegEx
核心正则表达式如下。这可能需要根据您正在使用的语言进行一些调整:
https?:[\/]{2}\S*?(\/\S*) 要将其扩展到ftp站点,可以使用
(ht|f)tps?:[\/]{2}\S*?(\/\S*)https://stackoverflow.com/questions/9622566
复制相似问题