可能重复:
The Hostname Regex
我正在尝试使用pcrepp(PCRE)从url中提取主机名。 pcre正则表达式与Perl 5正则表达式相同。
例如:
url = "http://www.pandora.com/#/volume/73";
// the match will be "http://www.pandora.com/".
在这个例子中,我找不到正则表达式的正确语法。
amazon.com/sds/
应返回:amazon.com
。
或abebooks.co.uk/isbn="62345627457245"/blabla/
应返回abebooks.co.uk
答案 0 :(得分:2)
这样的事情:
^(?:[a-z]+://)?[^/]+/?
答案 1 :(得分:2)
请参阅使用Regexp::Common::URI::http中定义的子模式的Regexp::Common::URI::RFC2396。检查这些模块的源代码应该会让你知道如何组合一个体面的模式。
答案 2 :(得分:1)
这是一种可能性:
^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$
另一个:
^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$
可以在此处找到这些和其他与URL相关的正则表达式:Regular Expression Library
答案 3 :(得分:1)
string regex1, regex2, finalRegex;
regex1 = "^((\\w+):\\/\\/\\/?)?((\\w+):?(\\w+)?@)?([^\\/\\?:]+):?(\\d+)?(\\/?[^\\?#;\\|]+)?([;\\|])?([^\\?#]+)?\\??";
regex2 = "([^#]+)?#?(\\w*)";
//concatenation
finalRegex= regex1+regex2;
结果将排在第六位。 在我提出的另一个问题中回答:Details。