解决方案 »

  1.   

    \b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b
      

  2.   

    (?:https?\/\/)?((?:www\.)?[-\w]+(?:\.[a-zA-Z]+)+)
      

  3.   

    @"^([a-zA-Z]+\.[0-9a-zA-Z]|[0-9a-zA-Z])[0-9a-zA-Z\-_]+[0-9a-zA-Z]\.(cn|com|name|org)$"域名baidu.com
    www.baidu.com
    abc.baidu.com域名以字母或数字开头和结尾,-或_只能放中间
      

  4.   

    最前面那部分是否改成w{3}?域名可以是www,也可以是abc,主域名只有一个,那就是baidu.com(不带前缀的),其它带前缀的都为子域名(包括www)
      

  5.   

    我觉得这种问题完全可以按步骤来,不一定非要一条正则到位啊
    按“.”号分割该字符串
    如果分割出的数组长度为2,就认定为不带前缀
    接下来就是分别对每一个元素判断了
    数字字母下划线减号的正则 ^[0-9a-zA-Z\-_]+$ 
    至于最后的后缀我想应该是很好判断的吧
      

  6.   

    然后,我也写了一个正则
    (www\.){0,1}([0-9a-zA-Z\-_]+)\.(cn|com|name|org)