优雅地从URL中找到网络位置

时间:2013-05-30 09:38:54

标签: python regex urlparse

代码:

import urlparse
url1 = 'http://try.github.io//levels/1/challenges/1'
netloc1 = urlparse.urlparse(url1)[1]  #try.github.io

url2 = 'https://github.com/explore'
netloc2 = urlparse.urlparse(url2)[1]  #github.com

netloc2是我想要的,但是,我希望netloc1github.io,如果使用正则表达式,如何处理它。

1 个答案:

答案 0 :(得分:0)

描述

此正则表达式将验证网址是否包含try.github.iogethub.com

^https?:[\/]{2}(try[.]github[.]io|github[.]com)

enter image description here

实施例

我不知道python所以我提供了一个php示例来展示正则表达式是如何工作的。

<?php
$sourcestring="your source string";
preg_match_all('/^https?:[\/]{2}(try[.]github[.]io|github[.]com)/im',$sourcestring,$matches);
echo "<pre>".print_r($matches,true);
?>

$matches Array:
(
    [0] => Array
        (
            [0] => http://try.github.io
            [1] => https://github.com
        )

    [1] => Array
        (
            [0] => try.github.io
            [1] => github.com
        )

)

声明

使用urlparse解决方案可能会更容易,然后只应用一些逻辑来测试[1]返回的值。