我有一个需要排序的网址列表。我会尝试解释我需要的东西。
示例:
http://test56.testdom.com/dev123/85056704/test/test.php?something=else&t=1
http://test14.testdoma.tv/dev234/93181034/test/backup.zip
http://test22.testdomai.me/dev945/23145034/test/test.zip
http://test12.testdomain.co.uk/dev184/95342034/test/random?random=123&stuff=true
http://test76.testdomains.de/dev643/13453534/test/random.zip
我需要一个正则表达式来匹配完整的域名,在以zip
结尾的网址中,如下所示:
test14.testdoma.tv
test22.testdomai.me
test76.testdomains.de
基本上如此:"如果有zip
,则从test
到/
"匹配。
我怎么写这样的正则表达式?
答案 0 :(得分:2)
答案 1 :(得分:1)
在Notepad ++中,您不会像任何编程语言一样获得输出。 但您可以使用查找和替换正则表达式,即:
发现: https?://(.*?)/.*\.zip
替换: $1
以上,将用相应的域名替换所有以zip结尾的网址。
<强>主题:强>
http://test56.testdom.com/dev123/85056704/test/test.php?something=else&t=1
http://test14.testdoma.tv/dev234/93181034/test/backup.zip
http://test22.testdomai.me/dev945/23145034/test/test.zip
http://test12.testdomain.co.uk/dev184/95342034/test/random?random=123&stuff=true
http://test76.testdomains.de/dev643/13453534/test/random.zip
<强>输出:强>
http://test56.testdom.com/dev123/85056704/test/test.php?something=else&t=1
test14.testdoma.tv
test22.testdomai.me
http://test12.testdomain.co.uk/dev184/95342034/test/random?random=123&stuff=true
test76.testdomains.de
更新:
使用 JavaScript ,您可以使用此正则表达式:
var myregexp = /https?:\/\/(.*?)\/.*\.zip/img;
PHP :
$urls = <<< EOF
http://test56.testdom.com/dev123/85056704/test/test.php?something=else&t=1
http://test14.testdoma.tv/dev234/93181034/test/backup.zip
http://test22.testdomai.me/dev945/23145034/test/test.zip
http://test12.testdomain.co.uk/dev184/95342034/test/random?random=123&stuff=true
http://test76.testdomains.de/dev643/13453534/test/random.zip
EOF;
preg_match_all('%https?://(.*?)/.*\.zip%im', $urls, $matches, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($matches[1]); $i++) {
echo $matches[1][$i];
}