Content-Disposition: form-data; name="file1"; filename="H:\Documents \haha.txt"
Content-Type: text/plain
如何用正则表达式获取以上字符串中filename=后的文件名,Content-Type:后的内容?

解决方案 »

  1.   

    (?is)filename=(['"\s]?)([^'"]+)\1.*?content-type:([^:]+)取分组2,3 就是你想要的
      

  2.   

    string s = @"Content-Disposition: form-data; name=""file1""; filename=""H:\Documents \haha.txt""
    Content-Type: text/plain";
    Match match = Regex.Match(s, @"(?is)filename=""([^""]+)""\s*Content-Type:([^;]+)");
    Response.Write(match.Groups[1].Value + "<br/>");
    Response.Write(match.Groups[2].Value + "<br/>");
    输出:
    H:\Documents \haha.txt
    text/plain
      

  3.   

     private void mnuFileOpen_Click(object sender ,System.EventArgs e)
                {
                    // Intialize with the last file name used.
                    openFileDialog1.FileName=m_strFileName;
                    //Set the filter for text files
                    openFileDialog1.Filter=
                        "Text files(*.txt)|*.txt|C# files (*.cs)|*.cs";
                    //Show the Read Only check box on the dialong box
                    openFileDialog1.ShowReadOnly=true;
                    //the default extension is for text files
                    openFileDialog1.DefaultExt=".txt";
                    if (openFileDialog1.ShowDialog()==
                        DialogResult.Cancel)