我想判断一个字符串中是否同时存在a和b,注:a和b是必须同时在字符串中出现才有效,出现的位置不限,只要这两个字符都有出现就通过
字符串是动态的,如:
ffaeeaccbdd
像ffeeacc 这样就不通过

解决方案 »

  1.   


                string s = "ffeeacc";
                System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@".*a.*b.*");
                System.Text.RegularExpressions.Match m = reg.Match(s);
      

  2.   

    试试(.*)a+(.*)b+(.*)|(.*)b+(.*)a+(.*)
      

  3.   

    一楼测试有效! 顺便再问下,
    怎么判断一个字符串只有数字和A,数字和A必须时时存在,如
    45A7A8
    像45或AA或4b5A这样都不通过
      

  4.   

    try this string s = "45A7A8 45 AA 4b5A 342432  AA54A435AAAA34234AA";
                System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"([A\d]{0,}A{1,}\d{1,}[A\d]{0,})+");
                System.Text.RegularExpressions.Match m = reg.Match(s);
      

  5.   

    刚刚发现一楼的还是存在一个问题,
    像eebdaa 这样就通不过了,也就是b在前面a在后面位置调动了就不行了,本来eebdaa是符合条件的
      

  6.   

            string str = "ffaeeaccbdd";
            if (str.Contains("a") && str.Contains("b"))
                return;