我的问题很简单。例如,如何使用regex从域中删除tld,而不预先定义已知存在的所有可能的tld的列表。这似乎很简单,但我在stackoverflow和谷歌上都没有发现一个不使用列表的列表,或者它不适用于.co.uk或com.au等不同的tld,使用pop方法只是让它变得无用。为此,已经为该场景删除了http://www. or http://
。
google.com --> google
google.co.uk --> google
stackoverflow.com --> stackoverflow
谢谢
这是不可能的(如果你关心子域)
如果你不关心子域:
domain=url.split(".").shift();
如果你关心子域,最正确的方法(大约80%正确)是从url中删除所有短的内容,然后选择最后一个:
domain=url.split(".").filter(e=>e.length>3).pop();
if(domain==undefined){
domain=url.split(".").pop();
}
如果使用account.db.de stadt.hamburg等,这将失败,但如果没有tld列表,这是不可能的。