查找 [asdf ,  from  df df] from [dfdf  from d ] 中的 from
求解!

解决方案 »

  1.   

    目的是什么,仅仅是匹配没什么意义吧,不同的目的写出的正则不一样//如果仅仅是匹配
    string test = "[asdf , from df df] from [dfdf from d ]";
    Regex reg = new Regex(@"(?i)(?<=(^|\])[^\[\]]*)from(?=[^\[\]]*(\[|$))");
    MatchCollection mc = reg.Matches(test);
    foreach (Match m in mc)
    {
        richTextBox2.Text += "匹配成功起始位置:" + m.Index + "\n";
    }//如果是替换
    string test = "[asdf , from df df] from [dfdf from d ]";
    Regex reg = new Regex(@"\][^\[\]]+\[");
    string result = reg.Replace(test, delegate(Match m) { return m.Value.Replace("from", "随便替换点什么"); });
    richTextBox2.Text = result;
      

  2.   

    谢谢 WM_JAWIN 的回复! 可以匹配。 又见lxcnn!  Thanks!
    这是那个传说中的负向零宽断言的么? 我也试了试  没成功。
    高手就是不一样,,,, 帅气!谢谢!PS:
    目的: 检索sql中的表名,列名, 因为表名可以含有关键字(此时,表名被[]包含)。谢谢两位!