正则表达式从URL获取域名

时间:2010-08-07 18:20:03

标签: regex flash actionscript-3

任何人都知道Regexp for AS3从URL获取域名? 例如:“http://www.google.com/translate”将获得“http://www.google.com

5 个答案:

答案 0 :(得分:7)

as3corelib中有一个非常完整的实用程序类来处理URI。也许您可能想要使用它而不是自己动手。

import com.adobe.net.URI;
var uri:URI = new URI("http://www.google.com/translate");
trace(uri.authority); // traces www.google.com

答案 1 :(得分:2)

这应该做的工作:http(s?)://([\w]+\.){1}([\w]+\.?)+ 您可以在GSkinner RegExr

中尝试此操作

答案 2 :(得分:0)

之前的正则表达式错过了我需要的一些网址类型,所以为了googlers的利益,我使用

(HTTP:// | HTTPS://)?(WWW)[A-Z] *(.COM | .co.uk |页面没有自动跳转|。组织| .NET | .MOBI)

在C#中

var regexMatch = Regex.Match(input, @"(http://|https://)?(www.)?[A-z]*(.com|.co.uk|.us|.org|.net|.mobi)", RegexOptions.Multiline);

string domain = regexMatch.Value;

请参阅RegExr上的示例。

你可以删除删除“(...)?”用于阻止该部分出现匹配的部分,例如删除我需要的http匹配。

可能不完美,但适合我。 This site是构建表达式的绝佳参考。

答案 3 :(得分:0)

尝试这个:

.*\/\/([^\/:]+).*

用首选的分隔符包围正则表达式,这可能取决于语言。 This diagram解释其工作原理。

答案 4 :(得分:0)

用于从window.location.href属性获取域的正则表达式如下。必须对OXMO456之前提供的正则表达式答案进行修改,以使其正确并适应更多情况。

domainRegex = /(http(?:s?):\/\/(?:[\w]+(?:\.|\:)){1}(?:[\w]+\.?)+)/gi;

正则表达式链接:https://regexr.com/4vnnc