Vas*_*kis 19
这是我的想法,
使用$锚点从行尾开始匹配任何非点,三次的内容.
字符串末尾的最后一个匹配应该是可选的,以允许.com.au或.co.nz类型的域.
最后和最后一个匹配项只匹配2-3个字符,因此不会将它与二级域名混淆.
正则表达式:
[^.]*\.[^.]{2,3}(?:\.[^.]{2,3})?$
示范:
你可以用这个:
var psl = require('psl');
// Parse domain without subdomain
var parsed = psl.parse('google.com');
console.log(parsed.tld); // 'com'
console.log(parsed.sld); // 'google'
console.log(parsed.domain); // 'google.com'
console.log(parsed.subdomain); // null
// Parse domain with subdomain
var parsed = psl.parse('www.google.com');
console.log(parsed.tld); // 'com'
console.log(parsed.sld); // 'google'
console.log(parsed.domain); // 'google.com'
console.log(parsed.subdomain); // 'www'
// Parse domain with nested subdomains
var parsed = psl.parse('a.b.c.d.foo.com');
console.log(parsed.tld); // 'com'
console.log(parsed.sld); // 'foo'
console.log(parsed.domain); // 'foo.com'
console.log(parsed.subdomain); // 'a.b.c.d'
Run Code Online (Sandbox Code Playgroud)
如果没有更多细节(样本文件,您正在使用的语言),很难确切地知道这是否有效.
示例:http://regex101.com/r/wD8eP2
| 归档时间: |
|
| 查看次数: |
22135 次 |
| 最近记录: |