补充[\S]{0,}abcdef[\S]{0,}中的\S 大写的

解决方案 »

  1.   

    建议这种事情还是不要让正则表达式干,我认为用regex表示起来非常麻烦,排列组合比较恐怖,不如自己写个算法来提取。可以考虑使用正则表达式来提取大块的字符串,结合下面的小段代码来实现,你也可以对下面的代码进行优化 static void Main(string[] args)
    {
    string value = "asdfgabcdefgjasdkjbcdfaejhfdas";
    ListA2FStrings( value ); 
    Console.ReadLine();
    } static void ListA2FStrings( string value )
    {
    byte[] bytes = System.Text.Encoding.ASCII.GetBytes( value ); ArrayList al = new ArrayList();  //  buffer stored a-f chars for( int i = 0 ; i < bytes.Length ; i++ )
    {
    byte byt = bytes[ i ]; if ( al.Count == 6 )
    {
    byte[] buffer = (byte[])al.ToArray( typeof( byte ) );
    Console.WriteLine( System.Text.Encoding.ASCII.GetString( buffer ) );
    al.Clear();  // clear buffer
    } if ( IsA2F( byt ) )
    {
    if ( al.Count < 6 && !al.Contains( byt ) )
    {
    al.Add( byt );
    }
    else
    {
    al.Clear();
    al.Add( byt );
    }
    }
    else
    {
    al.Clear() ; // clear buffer 
    }
    }
    } static bool IsA2F( byte byt )
    {
    if ( byt >= 97 && byt <= 102 )
    return true;
    else
    return false;
    }
      

  2.   

    ALLsharps兄弟:好象[\S]{0,}abcdef[\S]{0,}ddedfddfacebd,不能匹配出dfaceb.你匹配的是一定要按abcdef顺序的字符串,如ababcdefe,匹配abcdef,但如果顺序反了就不行了,再想想办法,谢谢了
      

  3.   

    OneDotRed(武装到眼神) 
    非常谢谢你的代码.我其实也知道用C#代码实现是最简单的,但我这就想探讨一下有没有这种匹配方法.
      

  4.   

    有一兄弟发了这样的:if ( Regex.IsMatch( "a" ) && 
    Regex.IsMatch( "b" ) &&
    Regex.IsMatch( "c" ) &&
    Regex.IsMatch( "d" ) &&
    Regex.IsMatch( "e" ) &&
    Regex.IsMatch( "f" ))
    {
       DoSomething();
    }呵呵!这个老兄真是思维发散
      

  5.   

    有一兄弟发了这样的:
    呵呵!这个老兄真是思维发散
    ================
    其实这个老兄就是俺拉,不过在你另外一贴中是字符串中必须包含abcd四个字符(非连续的)。
    正则表达式不是万能的,而且效率也不是最高,不如自己写个算法。
      

  6.   

    http://community.csdn.net/Expert/topic/3602/3602220.xml?temp=.418194贴原贴内容:
    要求字符串中必须要有a,b,c,d这四个字母!
    正确:
    b,a,c,d
    x,x,x,c,d,x,x,x,a,x,c,x,x,x
    x,a,a,x,c,d,b,b,xxxx不正确的:
    a,
    a,b,x,x,c,
    x,x,x,a,c,d,c,d,xxx
    ---------------------------希望别人给你解决问题的时候不要说别人的发散思维!!