我的方法是把字符串反过来 ,从尾部开始匹配,因为变的只是头部
var testReg = /(com\.[^\.]*)\.?(.*)?/gi;
var url = new String("test.cnblogs.com"); 
var reverseUrl = url.split(".").reverse().join(".");//先对url进行反序
testReg.test(reverseUrl);//匹配
var class1 = RegExp["$1"].split(".").reverse().join(".");//对获取的结果1进行反序,这里是xxx.com
alert(class1);  
var class2 =  RegExp["$2"];//这里是*.的内容如果对于cnblogs.com   *.为空
alert(class2);

解决方案 »

  1.   

    用java写的 我还不会用javascript 输入匹配的字符串 都差不多  你看看吧package test;
    import java.util.regex.*;
    public class aaaa {
        public static void main(String[] args) {
            Pattern pattern=Pattern.compile("(\\w+\\.)?(\\w+\\.\\w+)");
            String url="qq.com";
            
            Matcher matcher=pattern.matcher(url);
            
            while(matcher.find())
            {
                System.out.println(matcher.group(1));
                System.out.println(matcher.group(2));
            }    }
    }
      

  2.   

    忘了问了 在js里怎么得到  正则匹配的内容啊? 就像java里的
            while(matcher.find())
            {
                System.out.println(matcher.group(1));
                System.out.println(matcher.group(2));
            } 这样!  谢谢
      

  3.   

    这些都用到了程序..
    我这个这个正则是用在isapi rewrite里的
    只要一个单独的正则表达式,test一下是否为本站调用(包括任何形式的二级域名,如果可以的话尽量考虑到3级域名)就ok了
      

  4.   

    看下这个:http://jorkin.reallydo.com/article.asp?id=388很好很强大.