您的位置:首页 > 产品设计 > UI/UE

提取字符串中url的方法

2011-03-31 14:09 176 查看
Pattern patternUrl =Pattern.compile(

            new StringBuilder()

                .append("((?:(http|https|Http|Https|rtsp|Rtsp):")

                .append("//////(?:(?:[a-zA-Z0-9//$//-//_//.//+//!//*//'//(//)")

                    .append("//,//;//?//&//=]|(?://%[a-fA-F0-9]{2})){1,64}(?://:(?:[a-zA-Z0-9//$//-//_")

                    .append("//.//+//!//*//'//(//)//,//;//?//&//=]|(?://%[a-fA-F0-9]{2})){1,25})?//@)?)")

                    // (http://something){1}.com

                    //.append("//.//+//!//*//'//(//)//,//;//?//&//=]|(?://%[a-fA-F0-9]{2})){1,25})?//@)?)?")

                    .append("((?:(?:[a-zA-Z0-9][a-zA-Z0-9//-]{0,64}//.)+")   // named host

                    .append("(?:")   // plus top level domain

                    .append("(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])")

                    .append("|(?:biz|b[abdefghijmnorstvwyz])")

                    .append("|(?:cat|com|coop|c[acdfghiklmnoruvxyz])")

                    .append("|d[ejkmoz]")

                    .append("|(?:edu|e[cegrstu])")

                    .append("|f[ijkmor]")

                    .append("|(?:gov|g[abdefghilmnpqrstuwy])")

                    .append("|h[kmnrtu]")

                    .append("|(?:info|int|i[delmnoqrst])")

                    .append("|(?:jobs|j[emop])")

                    .append("|k[eghimnrwyz]")

                    .append("|l[abcikrstuvy]")

                    .append("|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])")

                    .append("|(?:name|net|n[acefgilopruz])")

                    .append("|(?:org|om)")

                    .append("|(?:pro|p[aefghklmnrstwy])")

                    .append("|qa")

                    .append("|r[eouw]")

                    .append("|s[abcdeghijklmnortuvyz]")

                    .append("|(?:tel|travel|t[cdfghjklmnoprtvwz])")

                    .append("|u[agkmsyz]")

                    .append("|v[aceginu]")

                    .append("|w[fs]")

                    .append("|y[etu]")

                    .append("|z[amw]))")

                    .append("|(?:(?:25[0-5]|2[0-4]") // or ip address

                    .append("[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])//.(?:25[0-5]|2[0-4][0-9]")

                    .append("|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)//.(?:25[0-5]|2[0-4][0-9]|[0-1]")

                    .append("[0-9]{2}|[1-9][0-9]|[1-9]|0)//.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}")

                    .append("|[1-9][0-9]|[0-9])))")

                    .append("(?://://d{1,5})?)") // plus option port number

                    .append("((?:///)*(?:(?:[a-zA-Z0-9//;/////?//://@//&//=//#//~")  // plus option query params

                    .append("//-//.//+//!//*//'//(//)//,//_])|(?://%[a-fA-F0-9]{2}))*)?")

                    .append("(?://b|$)")

                    .append("?(?:///)*").toString()

                );

 

String s = "asdfdhttp://www.sina.com/范德萨的 http://www.google.com/这个";
        Matcher matcher = patternUrl.matcher(s);

        while (matcher != null && matcher.find()) {

            System.out.println(matcher.group(0));

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  url jobs domain string query null