我要写一个正则表达式比如我要获取一个页面的手机号码
打个比方比如说有一个人填写了3个手机号码mobile1:13425851111mobile2:13425851112mobile3:13425851111但是这个里面有重复的那么就是说如何用正则表达式过滤重复值??????我要的结果是:13425851111  13425851112如果没有重复的,那么全部抓取!

解决方案 »

  1.   

    用List搞定也复杂不到哪去
    List<string> vList = new List<string>();
    string s= ...; // 这可以用正则取值
    if (!vList.Contains(s)) vList.Add(s); // 判断没有存在才添加
      

  2.   


    用反向引用            Match amt = Regex.Match(Input, @"(\d{11}).*?\1");
                //有重复
                if (amt.Success)
                listBox1.Items.Add(amt.Groups[1].Value);
      

  3.   

    同意用List<string>,可以判断如果存在就不加,不存在就加。
      

  4.   

    搞错了Regex类
    他有没有什么方法以及属性可以过滤掉重复值??????
      

  5.   

    手机号是个11位数字的字符串,上面的表达式(\d{11})匹配一个手机号,后面的\1反向引用匹配前面的匹配结果,如果字符串能被这个表达式匹配,则说明有重复号码,号码是amt.Groups[1].Value