【发布时间】:2011-10-18 20:09:30
【问题描述】:
我使用这个 js 代码来匹配字符串中的主机名:
url.match(/:\/\/(www\.)?(.[^/:]+)/);
当 url 以 protocol:// 开头时,此方法有效。例如:
这很好用:
var url = "http://domain.com/page";
url.match(/:\/\/(www\.)?(.[^/:]+)/);
但这不是:
var url = "domain.com/page";
url.match(/:\/\/(www\.)?(.[^/:]+)/);
我试过了:
url.match(/(:\/\/)?(www\.)?(.[^/:]+)/);
当它不包含协议://时,它与主机名匹配得很好,但当它包含它时,它只返回协议而不是主机名。
如果域不包含域,我该如何匹配它?
【问题讨论】:
标签: javascript regex string parsing pattern-matching