Tanjan ര؂ര
13 years ago
C#
假如:
有一個網址, plus.google.com
怎麽取得 google.com 的部分? 當然這個網址也可能是 url.plus.google.com 不管怎樣都只要 google.com
Tanjan ര؂ര
13 years ago
想到一種可行的匹配方式:
Tanjan ര؂ര
13 years ago
從後向前把域名字符放入堆棧(你懂的)
如果壓入的前3個是點xx,而又是合法的代表地區的頂級域名,先mark一個
Tanjan ര؂ര
13 years ago
再向前推5個字符,如果這5個字符包含.com等(我記得有個.nato,代表北約組織的頂級域名,這個連點就5個字符了),再mark一下……那麽再推上去到下一個點號這段就是完整的頂級域名了
(例外情況你懂得,比如英國的 .co.uk 等)
立即下載
Tanjan ര؂ര
13 years ago
如果先壓入的3個字符不帶點號,那就按上面說的第二步直接處理
Tanjan ര؂ര
13 years ago
…… 這是 C#
直接 String[] domains = domain.split(".";-) 不就行了……
顯然然後做一個地區域名匹配,從右到左……
我覺得這是一個驗證 Google 域名有效性的問題,要麽差表,要麽直接鏈接下載首頁並驗證。